Dart中格式化JSON的类结构

时间:2014-08-31 09:32:40

标签: json dart

我在Dart上有一些课程,我想要获得格式化的JSON表示。

例如,我有这些课程:

class A {
  String a1;
  num a2;
  List<B> bs;
}

class B {
  String b1;
  num b2;
}

A对象的格式化JSON应如下所示:

{
  "a1": "value",
  "a2": 42,
  "bs": [
    {
      "b1": "any value",
      "b2": 13
    },
    {
      "b1": "another value",
      "b2": 0
    }
  ]
}

我查看了pub存储库中的一些软件包,但找不到符合我需求的软件包。也许我错过了正确的。

1 个答案:

答案 0 :(得分:4)

如果这些类别进行了序列化和反序列化,但只是没有正确格式化JSON,您可以使用dart:convert包来获取JSON并解码/编码并传递缩进字符串。

请参阅https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-convert.JsonEncoder#id_JsonEncoder-withIndent

import 'dart:convert' show JSON, JsonEncoder;

...

String json = jsonFromSerializationLib();

print(new JsonEncoder.withIndent('  ').convert(JSON.decode(j)));