我有下一个地图
Map<String, dynamic> example = {
'isActive': true,
'age': 24,
'name': 'Sam',
'childrens': ['Jhon', 'Elisa']
};我需要像JSON.stringify() on web那样对进行严格的处理,以获得这样的结果。
"{\"isActive\":true,\"age\":24,\"name\":\"Sam\",\"childrens\":[\"Jhon\",\"Elisa\"]}"实际上使用json.encode(),其结果是下一个,显然它不等于上面的结果
{"isActive":true,"age":24,"name":"Sam","childrens":["Jhon","Elisa"]}我需要在一个REST中将我的映射到POST,如果 stringify 与web不相等,web就无法读取它。
发布于 2020-06-16 20:41:14
区别是开头和结尾的",以及每个"之前的\。
您可以想象一个执行此转换的简单函数:
String stringify(String json) => '"${json.replaceAll('"', '\\"')}"';发布于 2022-11-14 21:32:28
作为先前的答案。使用@MickaelHrndz的相同函数
String stringify(String json) => '"${json.replaceAll('"', '\\"')}"';在使用它的时候。作为您的map变量“示例”,您需要先对其进行编码,然后再进行字符串化。
使用以下=> stringify(json.encode(example))。它将给您提供正确的格式,但是不要忘记导入这个import 'dart:convert';来使用我前面提到的编码函数。
祝你好运^_^
更新
https://stackoverflow.com/questions/62415896
复制相似问题