SwiftyJson 遍历几个数组没有循环

Posted

技术标签:

【中文标题】SwiftyJson 遍历几个数组没有循环【英文标题】:SwiftyJson go through several arrays without cycles 【发布时间】:2018-12-30 22:23:04 【问题描述】:

如何在没有循环的情况下从一个数组到下一个数组?

JSON:https://i.stack.imgur.com/34BtT.png

我尝试这样做

guard let items = self.json["data"]["reels_media"][]["items"].arrayValue else  return 

但我没有收到物品。

如果我这样做:

guard let items = self.json["data"]["reels_media"][0]["items"].arrayValue else  return 

我没有收到数组的所有元素。

【问题讨论】:

["reels_media"][0]["items"] 有什么问题??缺少哪些元素? 例如在数组 10 个元素中,但是当我打印这个常量时,我​​只收到了 2-3 个元素 reels_media 包含超过 1 项? 请勿发布代码图片。 Images of code are not appropriate on ***。您可以访问明文;请将代码复制并粘贴到您的问题中。 您应该首先用单独的对象表示Media 及其Items。然后你可以使用递归来解析它们。现在你应该使用Decodable 而不是SwiftyJSON 【参考方案1】:

你可以试试

let allItems = self.json["data"]["reels_media"].arrayValue.map($0["items"].arrayValue).joined()
print(allItems)

【讨论】:

非常棒。谢谢你

以上是关于SwiftyJson 遍历几个数组没有循环的主要内容,如果未能解决你的问题,请参考以下文章