在Dart中解析JSON的最佳方法

时间:2013-04-07 18:42:52

标签: html5 dart

我正在尝试从URL加载json文件并在Dart中解析它。因此,当我谷歌搜索时,我尝试使用以下代码建议:

   HttpRequest.getString("hellknight2.js").then((response)
   {
     var model = new JSON.parse(response);
   });

然而,它似乎在Dart SDK版本0.4.3.5_r20602上不再起作用。在Dart中将Json文件映射到对象的当前最佳方法是什么?

6 个答案:

答案 0 :(得分:13)

只需使用jsondart:convert package即可。这是一个例子:

import 'dart:convert';

main() {
  final myJsonAsString = '{"a": 1, "b": "c"}';
  final decoded = json.decode(myJsonAsString);
  ....
}

有关详细信息,请参阅Parsing JSON

答案 1 :(得分:4)

就我而言

  

JSON.decode

没有用。

我不得不使用:

import 'dart:convert' as JSON;

final json=JSON.jsonDecode(myJsonAsString);

答案 2 :(得分:2)

这取决于很多事情。

你得到的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

答案 3 :(得分:1)

有一个新的酒吧套餐:

Victor Savkin - Serializers

我没有使用它,但在我看来它会适合你。试一试

答案 4 :(得分:1)

这是我的解决方案:)首先,您需要导入:

     import 'dart:convert';

     var res = json.decode(response.body);

然后您可以通过键获取值,如下所示:

     print('res["message"]');

答案 5 :(得分:0)

您可以尝试此软件包。 pub: g_json

bytes,metadata