Как обращаться с JSON в Dart

Интересно, как Дарт справляется с JSON? Более конкретно:

  • Могу ли я получить доступ к объекту в объекте JSON и когда, как?
  • Можно ли преобразовать структуры данных Дартса, такие как Set и Maps в JSON?
  • Можно ли создать новый JSON, только вызывая JSON.parse?
  • Как добавить новые элементы в JSON?

Ответ 1

Возможно, вы найдете эту статью интересной: http://www.grobmeier.de/dart-creating-a-dynamic-list-with-dart-php-and-json-20112011.html

Вам нужно использовать пакет JSON (добавьте json в pubspec.yaml):

import 'package:json/json.dart';

Вот соответствующая спецификация: https://api.dartlang.org/docs/channels/stable/latest/json.html

На ваши вопросы:

  • Вы можете использовать: Результат списка = JSON.parse(jsonData);
  • С помощью stringify вы можете включить, например, карту в JSON
  • Извините, не уверен по этому вопросу. Вы можете сделать: JSON.parse('{key: "value" }')); или что-то в этом роде
  • Вам, вероятно, нужно создать карту из вашего JSON с синтаксическим разбором, затем добавить свой элемент, а затем вызвать stringify

Ответ 2

Вы можете использовать свойство JSON, предоставленное dart: конвертировать.

import 'dart:convert' show JSON;

main() {
  var encoded = JSON.encode([1, 2, { "a": null }]);
  var decoded = JSON.decode('["foo", { "bar": 499 }]');
}

Ответ 3

Как и христианин, там также есть аналогичный пост в моем