当我尝试解析JSON对象时,
let json = try? JSONSerialization.jsonObject(with: reportData, options: []) as? [String : Any]
我收到错误说
无法使用类型的参数列表调用'jsonObject' 'with :( [String:Any]),options:[Any]'
以下是我从服务器
获取的JSON格式的 reportData{
"status": "success",
"statusCode": 200,
"message": "Report exists",
"patientReport": {
"caseId": "case040784",
"Observations": "These are test observations",
"userUid": "MY5FDbl0bgZStAY5Ky6OtYAzbDT2",
"nextSteps": "Here are my next steps",
"customerUid": "customerUid",
"results": {
"test1": "12",
"test3": "15",
"test3": "12"
}
}
}
有人可以指导我出错的地方。
答案 0 :(得分:2)
此功能:
jsonObject(with: Data, options: JSONSerialization.ReadingOptions = [])
需要两个类型为Data
和JSONSerialization.ReadingOptions
的参数。
reportData
Dictionary
不是Data
。因此,您可以在不解析Dictionary
的情况下使用它。
答案 1 :(得分:0)
Cannot invoke 'jsonObject' with an argument list of type 'with:([String:Any]), options:[Any]'
我认为这可能是我今天看到的最奇怪的事情。
读取此消息时,字面上说reportData
的类型为([String: Any])
- 包含单个值[String: Any]
的元组。
阅读Creating Tuples For a Single Value后,我发现([String: Any])
和[String: Any]
之间没有区别。
其他用户已经回答了这个问题......你不需要解析已经存在的字典对象,我发现这个元组很有趣。