Arrays Swift 3-如何从包含字符串的索引中读取json输出
我使用api获取一些json信息,下面是一个示例:Arrays Swift 3-如何从包含字符串的索引中读取json输出,arrays,json,swift,Arrays,Json,Swift,我使用api获取一些json信息,下面是一个示例: multimedia: [ { url: "small.jpg" format: "small" }, { url: "medium.jpg" format: "medium" }, { url: "large.jpg" format: "large" } ] 正如您所看到的,多媒体容器有许多不同大小的图像url,我只想读取其中的一个,例如media.jpg的url 我的代码是这样的,首先读取多媒体容器: let ra
multimedia: [
{
url: "small.jpg"
format: "small"
},
{
url: "medium.jpg"
format: "medium"
},
{ url: "large.jpg"
format: "large"
}
]
正如您所看到的,多媒体容器有许多不同大小的图像url,我只想读取其中的一个,例如media.jpg的url
我的代码是这样的,首先读取多媒体容器:
let randomImg = result[random]["multimedia"] as! [[String: AnyObject]]
然后我做了另一个变量,它读取我想要的索引:
let randomImgIndex = randomImg[1]
因此,当我尝试获取最终字符串时,我得到错误:
let finalImgUrl = randomImgIndex[random]["url"] as! String
错误:无法使用“Int”类型的索引为“[String:AnyObject]”类型的值下标
我对swift很陌生,所以我完全迷路了。随机imgindex已经是理想的字典了 更改:
let finalImgUrl = randomImgIndex[random]["url"] as! String
致:
另一方面,您需要停止使用所有这些
代码>和一样代码>运算符。如果数据与预期不符,你的应用程序将崩溃。当您获取无法控制的数据时,请进行防御性编码。Swift 4具有可解码的功能,这使得类似的操作非常简单。你有什么理由推迟升级到Swift 4吗?我学过使用Swift 3,所以我不得不坚持使用它,当我适应Swift 3时,我对跳到Swift 4没有信心。谢谢,成功了。我会尽量按照这个建议去做,只是在我注意到有些东西不起作用的时候,我才用它?etc有时会修复它,所以我养成了这样做的习惯。
let finalImgUrl = randomImgIndex["url"] as! String