Flutter Json字符串输出格式化

1,670 阅读1分钟

背景

在我们打印json字符串时,中文字符在输出的时候会是unicode码,并且json也没有格式化。

可以使用dart:convert库中的JsonEncoder类来将JSON字符串格式化为可读性更好的形式。

import 'dart:convert';

void main() {
  // 原始JSON字符串
  String jsonString = '{"name": "John", "age": 30, "city": "New York"}';

  // 将JSON字符串转换为对象
  var jsonObject = json.decode(jsonString);

  // 格式化JSON字符串
  var prettyJsonString = JsonEncoder.withIndent('  ').convert(jsonObject);

  // 输出格式化的JSON字符串
  print(prettyJsonString);
}

输出将会是一个格式化的JSON字符串,如下所示:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

JsonEncoder.withIndent方法中,参数' '表示每个缩进级别使用两个空格进行缩进。您可以将其更改为任何其他缩进字符串。json.decode方法中,会把unicode编码的中文自动编码成对应的中文字符,而convert不会再将中文再反编码成unicode编码。