gpt4 book ai didi

json - 如何遍历对象数组并创建一个json对象?

转载 作者:行者123 更新时间:2023-11-28 11:30:44 29 4
gpt4 key购买 nike

我有一个包含 300 个对象的数组,每个对象都包含许多参数,我想遍历该数组以创建一个仅包含两个参数的 JSON 对象。我的对象是从数组中的这个 json 结构创建的:

 "publicationId": 13,
"name": null,
"code": "FIGA_20190516",
"parutionDate": "2019-05-16",
"quadri": "FIGA",
"ratio": null,
"numero": "0",
"createdAt": "2019-06-18 21:29:21",
"nbPages": 0,
"search": 1,
"down": 1,
"thumb_height": 0,
"quartPageWidth": 0,
"quartPageHeight": 0,
"pdfHeight": "0",
"pdfWidth": "0",
"PDF": "2019-06-18 21:29:21",
"XML": null,
"SendKM": "2019-06-18 21:29:21",
"KM": null,
"Melody": null,
"filename": null,
"SendNormalize": null,
"Normalized": null,
"librelioSubTitle": null,
"SendProcessArticle": null,
"ProcessedArticles": null,
"melodyCallBackUrl": null,
"htmlMilibris": false,
"htmlHarry": false,
"sendProcessLibrelio": null,
"processedLibrelio": null,
"id": 77066,
"_solrDocument": {},
"_repository": "FIGA/2019/05/FIGA_20190516/"

我想遍历数组以使用此结构创建一个 JSON 对象:

"availableParutions" : {
id : createdAt,
id : createdAt,
id : createdAt
}

非常感谢你们的帮助!

最佳答案

您可以创建一个新结构来表示您在 Json 输出中所需的数据

struct NewStruct: Encodable {
let id: Int
let createAt: String
}

这个结构符合 Encodable,所以它可以被编码为 json,但是因为它非常简单,所以不需要额外的编码

然后您可以使用 map

将大型对象数组转换为 NewStruct 数组
let newArray = array.map { NewStruct(id: $0.id, createAt: $0.createdAt) }

如果我理解正确,这个数组应该是一个名为“availableParutions”的属性,所以让我们为 json 创建一个外部结构

struct Output: Codable {
let availableParutions: [NewStruct]
}

加载它

let output = Output(availableParutions: newArray)

并对其进行编码

do {
let jsonData = try JSONEncoder().encode(output)
} catch {
print(error)
}

关于json - 如何遍历对象数组并创建一个json对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792507/

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