从 json 数组快速加载到对象数组中

Posted

技术标签:

【中文标题】从 json 数组快速加载到对象数组中【英文标题】:load from json array into object array swift 【发布时间】:2016-04-16 09:35:16 【问题描述】:

我有一组用户

var User:[User] = []

我想通过 alamofire 和 swiftyjson 从 http://jsonplaceholder.typicode.com/users 获取信息 我知道如何请求,然后我有 json 数组

我如何通过 json 数组循环并创建用户对象,然后附加到数组 User[]

我认为我的循环有问题,这是来自 swifty json 页面

for (index,subJson):(String, JSON) in json 
    //Do something you want

如何在我的应用中使用它?

【问题讨论】:

您是否搜索过 SO 甚至查看过 Related 列?有几十个例子。最重要的是你必须分析 JSON 的结构。 表示字典,[] 表示数组。 @vadian 是的,我的 json 结构带有数组 [],但是我如何从中获取用户并附加到我的数组中?你能写代码吗 【参考方案1】:

你可以使用下面类似的代码

for (_, subDataJSON): (String, JSON) in dataJSON 
  let u = User()
  u.name = subDataJSON["name"].stringValue
  u.id = subDataJSON["id"].intValue
  u.active = subDataJSON["active"].boolValue
  self.User.append(u)

在循环中解析您的数据 json,然后在循环结束时将单个用户对象附加到全局类用户数组中。

然后根据需要使用您的类作用域用户数组。

【讨论】:

非常感谢,但是在for循环的参数中,添加了“_和subDataJSON”的这个东西是什么?我不明白 '_' 的意思是你不会使用 (String, JSON) 元组的第一个元素,它是 Array 或 Dictionary Json 的索引。您可能不需要实现此变量。一切都清楚了吗? 还可以了解 subDataJSON 和 dataJSON 哪里是 json 数组和单个 json 对象? 我怎么知道是否需要实现这个变量?我可以使用所有元素吗? 只需将您的 response.result.value 从 Alamofire 网络闭包传递给 dataJSON 变量,您就可以开始了。

以上是关于从 json 数组快速加载到对象数组中的主要内容,如果未能解决你的问题,请参考以下文章

无法快速将对象附加到对象数组

将 JSON 对象加载到数组中?

解析 JSON 文件(本地存储),从而快速创建对象数组

删除 JSON 数组中对象之间的逗号

React.js:使用 Fetch API 和对象数组中的道具加载 JSON 数据

如何从 alamofire 中的 json 数组中获取对象?