写入JSON文件时如何添加键值对间距实现格式化输出
Dart 输出格式化多行JSON的实现方案
Dart 内置的默认jsonEncode方法生成的是无缩进、无换行的压缩单行JSON,所以写入文件后会全部挤在同一行。你只需要替换序列化逻辑,使用带缩进配置的JSON编码器即可实现排版美化的效果。
调整后的代码
首先确认文件顶部已经导入内置的convert包:
import 'dart:convert';
替换原来的JSON序列化+写入逻辑为以下代码:
// 初始化带2空格缩进的JSON编码器,缩进规则可按需修改 final JsonEncoder prettyJsonEncoder = JsonEncoder.withIndent(' '); // 生成带换行、层级缩进的格式化JSON字符串 final String prettyJsonStr = prettyJsonEncoder.convert(_json); // 写入文件的逻辑与原有逻辑一致 configFile.writeAsString(prettyJsonStr);
配置说明
- 缩进规则可自定义:如果需要4空格缩进,就给
withIndent传入参数' ';如果需要用制表符Tab做缩进,传入参数'\t'即可 - 格式化后的JSON内容、数据结构和原单行JSON完全一致,不会影响任何程序对该文件的解析读取,仅提升人工阅读的便利性
- 该方案不需要引入任何第三方依赖,全部基于Dart内置能力实现
内容的提问来源于stack exchange,提问作者jyashi
相关产品推荐
相关产品推荐

