gpt4 book ai didi

json - Swift 中的 Alamofire : converting response data in usable JSON dictionary

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:53 26 4
gpt4 key购买 nike

我想处理一个 JSON 字符串,该字符串作为使用 Alamofire 进行的 HTTP 调用返回的数据。

This question使用 SwiftyJSON .

但是我想更深入一点,了解如何将响应对象转换成字典。

推理是感觉字典可能是访问响应中 JSON 值的一种简单/容易的方法(而不是必须经历将响应转换为 JSON 对象的过程)。

这是假设 JSON 对象和字典是同一事物(是吗?)。

这是我编写的示例函数:

func question() -> Void{
let response : DataRequest = Alamofire.request("http://aapiurl", parameters: nil)

// Working with JSON Apple developer guide:
// https://developer.apple.com/swift/blog/?id=37

response.responseJSON { response in
if let JSON = response.result.value
{

print("JSON: \(JSON)") // Works!

let data = JSON as! NSMutableDictionary
// Casting fails
// Could not cast value of type '__NSCFArray' (0x19f952150) to 'NSMutableDictionary' (0x19f9523f8).
print("Data: \(data)")
}
}
}

编辑:

JSON 对象似乎是 Any 类型,并且没有以下答案中建议的任何方法。

我试图将其转换为字典,但出现以下错误:

enter image description here

最佳答案

一个 JSON 对象一个字典(或者在顶层可能是一个数组)。

请注意,您不应在 Swift 中使用 NSMutableDictionaryNSDictionary(或 NSArrayNSMutableArray)。

此外,JSON 对象不是工作对象。 JSON 是一种移动数据的方式。它不能用作数据源。

如果您想编辑从 JSON 获得的信息,那么您应该从该 JSON 构建适当的数据对象并使用它们。

如果您随后需要从这个新数据发送 JSON,那么您可以获取数据对象并将它们转换回字典和数组(即 JSON 对象)并发送该数据。

关于json - Swift 中的 Alamofire : converting response data in usable JSON dictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613683/

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