如何在flatter中字符串化json

如何在flatter中字符串化json,json,dart,flutter,Json,Dart,Flutter,在flatter(dart)中,反序列化Json并从中获取令牌很容易,但是当我再次尝试序列化它时,键和值周围的引号消失了 String myJSON = '{"name":{"first":"foo","last":"bar"}, "age":31, "city":"New York"}'; var json = JSON.jsonDecode(myJSON); //_InternalLinkedHashMap var nameJson = json['name']; //_InternalLi

在flatter(dart)中,反序列化
Json
并从中获取令牌很容易,但是当我再次尝试序列化它时,键和值周围的引号消失了

String myJSON = '{"name":{"first":"foo","last":"bar"}, "age":31, "city":"New York"}';
var json = JSON.jsonDecode(myJSON); //_InternalLinkedHashMap
var nameJson = json['name']; //_InternalLinkedHashMap
String nameString = nameJson.toString();
虽然
nameJson
有所有的双引号,但是
nameString

{first:foo,last:bar}

(正确答案是
{“first”:“foo”,“last”:“bar”}


如何保留Dart以删除
s?

将对象重新编码为JSON时,您使用的是.toString(),它不会将对象转换为有效的JSON。使用JSONECODE可以解决此问题

导入'dart:convert';
void main(){
字符串myJSON='{“name”:{“first”:“foo”,“last”:“bar”},“age”:31,“city”:“newyork”}';
var json=jsonDecode(myJSON);
var nameJson=json['name'];
字符串nameString=jsonEncode(nameJson);//jsonEncode!=.toString()
print(nameString);//输出{“first”:“foo”,“last”:“bar”}
}

我想要一个
json字符串
,可以再次用于
JsonDecoder
,当引号删除时,该字符串不再是有效的
json