Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart中格式化JSON的类结构_Json_Dart - Fatal编程技术网

Dart中格式化JSON的类结构

Dart中格式化JSON的类结构,json,dart,Json,Dart,我在Dart中有一些类,我想得到它们的格式化JSON表示 例如,我有以下课程: class A { String a1; num a2; List<B> bs; } class B { String b1; num b2; } 我查看了pub存储库中的一些包,但没有找到一个适合我需要的包。也许我错过了正确的一个。如果这些分类完成了序列化和反序列化,但没有正确格式化JSON,那么您可以使用dart:convert包对JSON进行解码/编码,并传递一个缩进字符串

我在Dart中有一些类,我想得到它们的格式化JSON表示

例如,我有以下课程:

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

class B {
  String b1;
  num b2;
}

我查看了pub存储库中的一些包,但没有找到一个适合我需要的包。也许我错过了正确的一个。

如果这些分类完成了序列化和反序列化,但没有正确格式化JSON,那么您可以使用
dart:convert
包对JSON进行解码/编码,并传递一个缩进字符串

import'dart:convert'显示JSON、JsonEncoder;
...
字符串json=jsonFromSerializationLib();
打印(新的jsonecoder.withIndent(“”).convert(JSON.decode(j));

您尝试了哪些软件包,哪些不适合?我尝试了,然后。我不知道如何将缩进参数传递给他们的编码函数。同时,我更改了jsonx包(向私有编码器变量添加了缩进),但这应该不是必需的。如果没有这个更改,我会联系作者。我想你只需要格式化就可以将输出呈现给用户(打印或写入文件)。我认为还有其他事情会造成更多的延误。“缩进”是几周前推出的。我想序列化框架会在某个时候增加对它的支持(特别是当你创建一个特性请求时)。我不知道,“缩进”是最近才引入的。我将创建一个功能请求。
{
  "a1": "value",
  "a2": 42,
  "bs": [
    {
      "b1": "any value",
      "b2": 13
    },
    {
      "b1": "another value",
      "b2": 0
    }
  ]
}