从JSON对象中获取格式化/缩进的JSON字符串的方法是什么?

24

使用dart:convert,我可以使用此代码获取未缩进的字符串。

var unformattedString = JSON.encode(jsonObject);

我该如何将一个 JSON 对象转换为带缩进的字符串?

2个回答

70

一种方法是通过创建一个 JSONEncoder.withIndent 实例来实现。

String getPrettyJSONString(jsonObject){
   var encoder = new JsonEncoder.withIndent("     ");
   return encoder.convert(jsonObject);
}

jsonObject 是 Map 类型吗? - Oliver Dixon
@OliverDixon,文档中包含它所接受的类型(包括Map)https://api.flutter.dev/flutter/dart-convert/JsonEncoder/convert.html - Noel

6

使用这个。对我有效。

String prettyJson(dynamic json) {
    var spaces = ' ' * 4;
    var encoder = JsonEncoder.withIndent(spaces);
    return encoder.convert(json);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接