gpt4 book ai didi

ios - 尝试使用 swiftyJSON 快速解析 JSON

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

问题是我无法使用我认为正确的代码填充数组以使用 swiftyJSON 解析 JSON 文件。

以及我不确定我发送请求的过程是否正确。

JSON 格式:这应该简化为它真正代表的内容:具有“字符串”键和字典数组值的字典。然后是一个带有字典值的字符串键。然后是一个具有我需要的字符串值的字符串。

 { 
"string1" : [
{ "string2" : {
"string3" : "DataINeed"
}
}
]
}

我的代码

func downloadSecondJSONData(completed: DownloadComplete)
{

let API_ServerKey = "My API Key"
let URL_Search = "URL Address"

let urlString = "\(URL_Search)"
let url = NSURL(string: urlString)!

Alamofire.request(.GET,url).responseJSON { (response) -> Void in
switch response.result
{
case .Success:
if let value = response.result.value
{
let json = JSON(value)
if let data = json["string1"]["string2"]["string3"].string
{
self.dataArray.append(data)
}

}
case .Failure(let error):
print(error)
}
completed()
}

}

func printData()
{
print(self.dataArray.count)

}

我是如何尝试调用这些方法的

downloadFirstJSONData { () -> () in
self.randomMethod() //data i use with the downloadFirstJSONData is required to use in the downloadSecondJSONData

self.downloadSecondJSONData({ () -> () in
self.printData() //check if data has been stored
})

}

最佳答案

看起来您没有访问第一个字典之后的数组。

我想访问第一个对象的安全方法是:

if let array = json["string1"].array,
let firstDict = array.first,
let data = firstDict["string2"]["string3"].string {
self.dataArray.append(data)
}

但我想您也可以使用 SwiftyJSON 做一些您已有的变体:

if let data = json["string1"][0]["string2"]["string3"].string {
self.dataArray.append(data)
}

关于ios - 尝试使用 swiftyJSON 快速解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35092580/

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