gpt4 book ai didi

Json swift 返回 null

转载 作者:行者123 更新时间:2023-11-28 13:30:59 25 4
gpt4 key购买 nike

我试图从 json 文件中获取值,但它返回 null。

代码如下:

     Alamofire.request( jsonUrl).responseJSON { (responseData) -> Void in
if((responseData.result.value) != nil) {


let swiftyJsonVar = JSON(responseData.result.value!)["value"]
print(swiftyJsonVar)
let temp = swiftyJsonVar["value"]
print(temp)
}
}

这是 swiftyJsonVar 的输出:

[
{
"value" : "13.1",
"quality" : "G",
"date" : 1564772400000
}
]

并且 temp 的输出为空。

为什么 temp 为 null 而不是 13.1?

最佳答案

这将是一个数组:responseData.result.value

该数组包含一个字典,其键名为 value

所以你应该取数组的第一个元素然后取value的值像这样的键:

JSON(responseData.result.value!)[0]["value"]

- 使用 JSON 的更好方法:

看看 Codable 。这是处理 json 的更好方法。

Codable你首先定义你的对象:

struct MyDTO {
let value: String,
let quality: String,
let date: Int // or any type you need
}

然后你用 JSONDecoder 解码它:

let results = try! JSONDecoder().decode([MyDTO].self, from: responseData)

最后您可以像这样访问您需要的项目:

results.first!.value

记得处理!以适当的方式。

关于Json swift 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57341703/

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