13

我想知道 Dart 是如何处理 JSON 的?进一步来说:

  1. 我可以访问 JSON 对象中的项目吗?何时、如何访问?
  2. 我可以将 Set 和 Maps 等 Darts 数据结构转换为 JSON 吗?
  3. 我只能通过调用 JSON.parse 来创建新的 JSON 吗?
  4. 如何将新项目添加到 JSON 中?
4

3 回答 3

16

您可能会发现我的这篇文章很有趣: 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

对于您的问题:

  1. 您可以使用:列表结果 = JSON.parse(jsonData);
  2. 使用 stringify,您可以将例如 Map 转换为 JSON
  3. 对不起,我不确定这个问题。你可以这样做: JSON.parse('{key:"value"}')); 或类似的东西
  4. 您可能需要使用解析从 JSON 创建一个 Map,然后添加您的项目,然后调用 stringify
于 2012-01-23T19:39:42.283 回答
8

您可以使用dart:convert库提供的json属性。

import 'dart:convert' show json;

main() {
  var encoded = json.encode([1, 2, { "a": null }]);
  var decoded = json.decode('["foo", { "bar": 499 }]');
}
于 2014-01-08T13:32:29.493 回答
7

像 Christian 一样,在我的dartwatch 博客上也有一篇类似的帖子,可能有用。

于 2012-01-24T06:24:54.933 回答