Flutter中如何为JSON对象添加转义字符并生成转义后字符串
Flutter 实现JSON转带转义字符字符串的方案
首先引入Dart官方内置的dart:convert库,无需额外安装第三方依赖:
import 'dart:convert';
具体实现逻辑非常简单,两次JSON序列化即可得到你要的格式:
- 第一次序列化:将Map类型的JSON对象转为普通JSON字符串
- 第二次序列化:将得到的普通JSON字符串再次做JSON序列化,官方库会自动完成内部双引号转义、外层包裹双引号的逻辑
完整代码示例:
void main() { // 原始JSON对象 final Map<String, String> originJson = {"firstname": "John", "lastname": "Doe"}; // 第一次序列化:转普通JSON字符串 final String normalJsonStr = jsonEncode(originJson); // 第二次序列化:直接对字符串做序列化得到目标格式 final String targetStr = jsonEncode(normalJsonStr); // 输出验证:此时targetStr就是"{\"firstname\": \"John\", \"lastname\": \"Doe\"}" print(targetStr); }
如果你的原始输入已经是普通JSON字符串,省略第一步直接对该字符串做jsonEncode即可。
该方案所有转义逻辑由Dart官方库处理,不会出现手动转义漏改、特殊字符处理错误的问题,适用性更强。
内容的提问来源于stack exchange,提问作者Soveyyy
相关产品推荐
相关产品推荐

