Лучший способ разобрать JSON в Дарт
Я пытаюсь загрузить json файл из URL-адреса и проанализировать его в Dart. Поэтому я попробовал следующий код, как это было предложено на некоторых ссылках, когда я говорю об этом в Google:
HttpRequest.getString("hellknight2.js").then((response)
{
var model = new JSON.parse(response);
});
Однако, похоже, он больше не работает в Dart SDK версии 0.4.3.5_r20602. Каков наилучший способ получить Json файл, сопоставленный с объектом в Dart?
Ответы
Ответ 1
Просто используйте json пакета dart:convert
. Вот пример:
import 'dart:convert';
main() {
final myJsonAsString = '{"a": 1, "b": "c"}';
final decoded = json.decode(myJsonAsString);
....
}
Смотрите Parsing JSON для более подробной информации.
Ответ 2
в моем случае
JSON.decode
не работал
Вместо этого я должен был использовать:
import 'dart:convert' as JSON;
final json=JSON.jsonDecode(myJsonAsString);
Ответ 3
Это зависит от многих вещей.
Получен ли текст json - массив или карта?
Вы можете попробовать:
Map model = new parse(response);
или
List model = new parse(response);
но вам нужно импортировать JSONObject by Chris Buckett в свой пакет
import "package:json_object/json_object.dart";
Вы можете установить его из pubspec, добавляя эту зависимость
json_object
Ответ 4
Для этого есть новый пакет пабов:
Виктор Савкин - Сериализаторы.
Я не использовал его, но мне кажется, что он вас устроит. Попробуйте