在flutter(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
is
{first: foo, last: bar}
(正确答案是{"first": "foo", "last": "bar"}
)
如何保留 Dart 以删除"
s?
将对象编码回 JSON 时,您使用的是 .toString(),它确实not将对象转换为有效的 JSON。使用 jsonEncode 可以解决该问题。
import 'dart:convert';
void main() {
String myJSON = '{"name":{"first":"foo","last":"bar"}, "age":31, "city":"New York"}';
var json = jsonDecode(myJSON);
var nameJson = json['name'];
String nameString = jsonEncode(nameJson); // jsonEncode != .toString()
print(nameString); // outputs {"first":"foo","last":"bar"}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)