【问题标题】:how to stringify json in flutter如何在颤振中对json进行字符串化
【发布时间】:2019-06-26 12:17:49
【问题描述】:

在flutter(dart)中,很容易反序列化Json并从中获取token,但是当我再次尝试对其进行序列化时,键和值周围的引号消失了。

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?

【问题讨论】:

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

标签: json dart flutter


【解决方案1】:

将对象编码回 JSON 时,您使用的是 .toString(),它将对象转换为有效的 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"}
}

【讨论】:

    猜你喜欢
    • 2020-09-11
    • 2019-08-13
    • 2020-02-13
    • 2015-01-14
    • 2020-05-23
    • 1970-01-01
    • 2021-10-26
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多