我无法解决如何使用JSON的问题,我不知道键的名称或值的数据类型。每次获取数据时,JSON将具有不同的键和不同的数据类型。我一直在尝试使用泛型来执行此操作,但是没有取得太大的成功。
抱歉,如果其他人已经问过这个问题。我进行了搜索,但是找不到关于如何在SDK中使用动态JSON的很好的解释。
已编辑 我的问题中有一些代码没有什么意义,我将其删除,因为它可能对其他人没有帮助。
答案 0 :(得分:1)
如果您不知道值类型,json包含多少个值或属性的名称,为什么不将json字符串解析为字典,然后遍历该字典的键并查找你想要什么。像这样:
if let dict = "Your json response".toDictionary(){
for (key, value) in dict.enumerated(){
//Do something with key || value
}
}
extension String {
func toDictionary() -> [String: Any]? {
return try? JSONSerialization.jsonObject(with: data(using: .utf8)! , options: []) as? [String: Any]
}
}
答案 1 :(得分:-1)
使用Charles Web Debugging Proxy
捕获您作为请求发送的内容和作为响应获得的内容,并且不要忘记按Shift
+ Command
+ P
以启用macO代理。