gpt4 book ai didi

json - 如果没有名称/键,如何在 Flutter/Dart 中序列化/解析嵌套的 JSON 数组

转载 作者:IT王子 更新时间:2023-10-29 06:39:30 27 4
gpt4 key购买 nike

我正在使用一个 RESTful API,它似乎在其他应用程序中工作并使用,给我这样的东西:

 "notes": [
[
{
"automaticNote": false,
"contactId": 0,
"caseFileId": 0,
"dateCreated": "2019-05-02",
"deletedTime": "2019-05-02T19:31:54.588Z"
}
]
]

双方括号意味着一对方括号没有与之关联的名称/键。更糟糕的是,notes 本身嵌套在一些复杂的 JSON 中。

我尝试使用 JSON to Dart但它会引发错误。所以我的问题是,如何序列化没有键/名称的 JSON 数组?

我通常会这样做:

    class Note {
bool automaticNote;
int contactId;
int caseFileId;
String dateCreated;
String deletedTime;

Note(
{this.automaticNote,
this.contactId,
this.caseFileId,
this.dateCreated,
this.deletedTime});

Note.fromJson(Map<String, dynamic> json) {
automaticNote = json['automaticNote'];
contactId = json['contactId'];
caseFileId = json['caseFileId'];
dateCreated = json['dateCreated'];
deletedTime = json['deletedTime'];
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['automaticNote'] = this.automaticNote;
data['contactId'] = this.contactId;
data['caseFileId'] = this.caseFileId;
data['dateCreated'] = this.dateCreated;
data['deletedTime'] = this.deletedTime;
return data;
}
}

但是双 JSON 数组让我失望(同样,notes 本身嵌套在一个更复杂的 JSON 对象中,但为了简单起见,我没有在此处包括整个内容)。

谢谢!

最佳答案

解码后,notes是一些 Map<String, dynamic> 的成员照常。我们称之为m .

所以 m['notes']是一个列表,谁是第一个成员,m['notes'][0]也是一个列表。它的第一个成员,m['notes'][0][0]是另一个Map<String, dynamic> ,这是您的构造函数所需要的。

因此您应该能够使用:

Note n = Note.fromJson(m['notes'][0][0]);

关于json - 如果没有名称/键,如何在 Flutter/Dart 中序列化/解析嵌套的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961664/

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