gpt4 book ai didi

ios - 快速解析嵌套的 JSON 属性

转载 作者:行者123 更新时间:2023-11-29 01:00:21 25 4
gpt4 key购买 nike

遇到的麻烦可能很小,但我的搜索没有发现任何结果。我有一个 json 模型如下:

//快速语法让您了解模型

{user:
{"name": "",
"password": "",
"medium" : {
{"title":"",
{"description":""}}}

我从对用户的 GET 请求中获取上述数据模型,它返回上面的所有信息,但是当我尝试解析“中等”信息(例如“标题”和“描述”)时,我没有运气。我在 Xcode 中得到了这样的回复

“对象‘AnyObject’的值未解包,您是想使用 ! 还是 ?”

然后当我单击圆形红色 Xcode 消息来修复它时,它会到处放置 !s 和 ?s 但错误仍然存​​在。这是我的解析方法,当我仅从“媒介”解析时,该方法工作得非常好。知道我做错了什么吗?

解析方法的一部分,我对每个属性都得到相同的错误:所有具有相同错误的行由 * 指示

// Parse JSON data
let jsonMedium = jsonResult?["user"] as! [AnyObject] //media where user is
for jsonMedia in jsonMedium {
let media = Media()
*media.title = jsonMedia["medium"]["title"] as! String
*media.description = jsonMedia["medium"]["description"] as! String
*media.category = jsonMedia["medium"]["category"] as! String
*media.image = jsonMedia["medium"]["image"] as! String

*if let IDer = jsonMedia["medium"]["id"] as? Int{
var stringIder = String(IDer)
media.identifierString = stringIder

}

仍然没有任何运气。我不明白为什么它适用于常规 JSON,但当我尝试获取嵌套时 Xcode 不会接受任何内容。感谢您的所有帮助。同时,如果它有进一步帮助的话,这是完整的方法

func parseJsonData(data: NSData) -> [Media] {
var medium = [Media]()
do {
let jsonResult = try NSJSONSerialization.JSONObjectWithData(data,
options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
// Parse JSON data
let jsonMedium = jsonResult?["media"] as! [AnyObject]
for jsonMedia in jsonMedium {
let media = Media()
media.title = jsonMedia["medium"]["title"] as! String
media.description = jsonMedia["medium"]["description"] as! String
media.category = jsonMedia["medium"]["category"] as! String
media.image = jsonMedia["medium"]["image"] as! String

if let IDer = jsonMedia["medium"]["id"] as? Int{
var stringIder = String(IDer)
media.identifierString = stringIder

}


medium.append(media)
}
} catch {
print(error)
}
return medium
}

最佳答案

let json = [
"user" : [
"name" : "My Name",
"password" : "My Password",
"medium" : [
"title" : "My Title",
"description" : "My Description"
]
]
]

if let userJson = json["user"] as? [String : AnyObject] {
if let name = userJson["name"] as? String {
print("name: \(name)")
}
if let password = userJson["password"] as? String {
print("password: \(password)")
}
if let mediumJson = userJson["medium"] as? [String : AnyObject] {
if let title = mediumJson["title"] as? String {
print("title: \(title)")
}
if let description = mediumJson["description"] as? String {
print("description: \(description)")
}
}
}

关于ios - 快速解析嵌套的 JSON 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37076014/

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