gpt4 book ai didi

dart - Dart将列表转换为JSON编码的映射条目

转载 作者:行者123 更新时间:2023-12-03 02:40:16 25 4
gpt4 key购买 nike

之前我曾问过question有关Dart编码/解码为JSON的信息,但是,建议的库并不完整,因此我决定手动进行处理。

目的是将这些对象转换为 map 。

class Parent extends Object {
int id;
String name;
List<Child> listChild = new List<Child>();
Map toMap() => {"id":id, "name":name, "listChild":listChild};
}

class Child extends Object {
int id;
String childName;
Map toMap() => {"id":id, "childName":childName};
}

做的时候

print(JSON.encode(parent.toMap()));

我看到它在这里,有什么建议如何使这项工作?

if (!stringifyJsonValue(object)) {
checkCycle(object);
try {
var customJson = _toEncodable(object);
if (!stringifyJsonValue(customJson)) {
throw new JsonUnsupportedObjectError(object);
}
_removeSeen(object);
} catch (e) {
throw new JsonUnsupportedObjectError(object, cause : e);
}
}
}

最佳答案

只需将Map toMap()重命名为Map toJson(),它将可以正常工作。 =)

void encode() {
Parent p = new Parent();
Child c1 = new Child();
c1 ..id = 1 ..childName = "Alex";

Child c2 = new Child();
c2 ..id = 2 ..childName = "John";

Child c3 = new Child();
c3 ..id = 3 ..childName = "Jane";

p ..id = 1 ..name = "Lisa" ..listChild = [c1,c2,c3];

String json = JSON.encode(p);
print(json);
}

class Parent extends Object {
int id;
String name;
List<Child> listChild = new List<Child>();
Map toJson() => {"id":id, "name":name, "listChild":listChild};
}

class Child extends Object {
int id;
String childName;
Map toJson() => {"id":id, "childName":childName};
}

关于dart - Dart将列表转换为JSON编码的映射条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com