gpt4 book ai didi

ios - SwiftyJSON - 表达式不明确

转载 作者:搜寻专家 更新时间:2023-11-01 07:30:04 25 4
gpt4 key购买 nike

我尝试使用 SwiftyJSON 解析 JSON,但我遇到了问题。

我使用来自 here 的教程

这是我的代码

var JSONStorage : [Article?]?
var objects = [[String: String]]()

override func viewDidLoad() {
super.viewDidLoad()

let number = arc4random_uniform(1000)
let urlString = "http://78.27.190.58:3200/api/get_article/17?\(number)"

if let url = NSURL(string: urlString) {
if let data = try? NSData(contentsOfURL: url, options: []) {
let json = JSON(data: data)

for element in json["article"].arrayValue {

let id = Int(element["id"].stringValue)
let title = element["title"].stringValue
let subtitle = element["subtitle"].stringValue
let body = element["body"].stringValue
let img = element["images"]["main"].rawValue
let obj = ["id": id, "title": title, "subtitle": subtitle, "body": body, "img": img]


objects.append(obj)

}

}
}

}

这是我得到的错误

enter image description here

我做错了什么?

最佳答案

您的 objects[[String:String]] 类型,一个字典数组。这些字典的键类型为 String,值类型为 String

但是您向这个数组添加了一个包含不同类型值的字典:String 和您的 .stringValue 对象,以及一个 .rawValue我认为它必须是 NSData 类型。

一个解决方案可能是键入你的字典 [String:AnyObject](因此你的数组 [[String:AnyObject]])并在另一边进行类型转换检索值时。

顺便说一下,编译器说“表达式不明确”是因为它无法推断数组的类型(现在我们知道原因了)。

请注意,它在解析 JSON 时并不是最有效的。更好的方法是从您的数据创建对象:类或结构。例如,您可以有一个结构 Article 来保存每个 element 值,就像您在另一个问题中展示的那样。

关于ios - SwiftyJSON - 表达式不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33111304/

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