【发布时间】:2018-04-17 20:35:55
【问题描述】:
我在解析 JSON 后遇到问题,问题是它以数组开头。我要识别数组的初始结构应该是什么?如果在数组之前有类似“数据”的东西,我会创建另一个结构并提到数据:[Item]? 那里但这个 JSON 只是以数组开头。
[
{
"userId": 1,
"id": 1,
"title": "TEST text"
},
{
"userId": 2,
"id": 2,
"title": "TEST text"
},
{
"userId": 3,
"id": 3,
"title": "TEST text"
}
]
struct Item: Codable {
var userId: Int?
var id: Int?
var title: String?
}
【问题讨论】:
-
你不需要创建另一个结构,你应该简单地做
JSONDecoder().decode([Item].self,from: data)。 -
顺便说一句,如果不是必须的,我不会选择
userId、id和title。 -
谢谢大卫!我实际上已经尝试过了,但是 Xcode 给了我一个错误,现在我再次尝试并且它成功了。
-
只是一个小建议:Swift 竭尽全力始终确保哪些属性是正确的引用。如果您设法摆脱
struct定义中的选项,您的编程将变得更加容易。