Разделить () на флаттер - PullRequest
       5

Разделить () на флаттер

0 голосов
/ 24 апреля 2020
{Country: [Local, Chinese, Indian, Italy, Thai]}
{Meals: [Breakfast, Lunch, Dinner]}

Мне нужно разделить это строковое значение и получить первое слово, например "Страна", "Питание".

Ответы [ 4 ]

0 голосов
/ 24 апреля 2020

Если это поможет,

  1. Вы можете сначала преобразовать JSON в объект.
  2. Затем l oop поверх объекта и напечатать ключи одну за другой.
    var obj = jsonDecode(yourJson); //#1 - import "dart:convert" 

    for (var key in obj.keys) //#2
    {
       print(key); //#2
    }
0 голосов
/ 24 апреля 2020

Используется .split ():

String mealsMap = '{Meals: [Breakfast, Lunch, Dinner]}';
String newMealsMap = mealsMap.replaceAll(RegExp(r"[^\s\w]"), "");

print(newMealsMap.split(' ')[0]); // returns Meals
0 голосов
/ 24 апреля 2020

Вы должны декодировать json в пригодную для использования Карту следующим образом:

Импортировать библиотеку json

import 'dart:convert';

Затем декодировать строку:

json.decode(jsonString)

Тогда у вас будет карта, которая выглядит следующим образом:

 Map<String, List<String>> x = {
      'Country': ['Local', 'Chinese', 'Indian', 'Italy', 'Thai'],
      'Meals': ['Breakfast', 'Lunch', 'Dinner']
  };

Вы можете l oop с помощью клавиш карты примерно так:

for (String key in x.keys) {
   print(key); // This will be Country or Meals
}

Или использовать другой метод из x.keys введите Iterable<String> в соответствии с заданным ключом, например:

x.keys.firstWhere((String key) => key == 'Country');

Надеюсь, что это может помочь.

0 голосов
/ 24 апреля 2020
 var ogString = "{Country: [Local, Chinese, Indian, Italy, Thai]}";
 var modifiedString = ogString.split(":")[0].substring(1); //Country

возможно, это может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...