首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON像Dart上的Web一样

JSON像Dart上的Web一样
EN

Stack Overflow用户
提问于 2020-06-16 19:09:29
回答 2查看 223关注 0票数 0

我有下一个地图

代码语言:javascript
复制
Map<String, dynamic> example = {
  'isActive': true,
  'age': 24,
  'name': 'Sam',
  'childrens': ['Jhon', 'Elisa']
};

我需要像JSON.stringify() on web那样对进行严格的处理,以获得这样的结果。

代码语言:javascript
复制
"{\"isActive\":true,\"age\":24,\"name\":\"Sam\",\"childrens\":[\"Jhon\",\"Elisa\"]}"

实际上使用json.encode(),其结果是下一个,显然它不等于上面的结果

代码语言:javascript
复制
{"isActive":true,"age":24,"name":"Sam","childrens":["Jhon","Elisa"]}

我需要在一个REST中将我的映射到POST,如果 stringify 与web不相等,web就无法读取它。

EN

回答 2

Stack Overflow用户

发布于 2020-06-16 20:41:14

区别是开头和结尾的",以及每个"之前的\

您可以想象一个执行此转换的简单函数:

代码语言:javascript
复制
String stringify(String json) => '"${json.replaceAll('"', '\\"')}"';
票数 1
EN

Stack Overflow用户

发布于 2022-11-14 21:32:28

作为先前的答案。使用@MickaelHrndz的相同函数

代码语言:javascript
复制
String stringify(String json) => '"${json.replaceAll('"', '\\"')}"';

在使用它的时候。作为您的map变量“示例”,您需要先对其进行编码,然后再进行字符串化。

使用以下=> stringify(json.encode(example))。它将给您提供正确的格式,但是不要忘记导入这个import 'dart:convert';来使用我前面提到的编码函数。

祝你好运^_^

更新

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62415896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档