NSJSONSerialization.JSONObjectWithData returns 奇怪的数组而不是字典
NSJSONSerialization.JSONObjectWithData returns weird array instead of dictionary
我正在尝试从这样的 HTTP 响应中解析数据:
let dataDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSMutableDictionary
结果我得到了这个非常奇怪的数组:
(lldb) po dataDictionary
▿ 3 elements
▿ [0] : 2 elements
- .0 : message
- .1 : http://abc.abc
▿ [1] : 2 elements
- .0 : xyz
- .1 : 1234
▿ [2] : 2 elements
- .0 : status
- .1 : ok
这是我收到的数据(格式很好,没有换行符):
{
"message": "http://abc.abc",
"xyz": "1234",
"status": "ok"
}
这是编码问题吗?这里发生了什么?
它不是一个数组,它是你的 NSMutableDictionary。
在调试器中打印时看起来像这样:有 3 个条目,每个条目都有一个键和一个值。
在 dataDictionary
上执行 ALT+CLICK 并阅读 Xcode 提示,您会看到类型。
我正在尝试从这样的 HTTP 响应中解析数据:
let dataDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSMutableDictionary
结果我得到了这个非常奇怪的数组:
(lldb) po dataDictionary
▿ 3 elements
▿ [0] : 2 elements
- .0 : message
- .1 : http://abc.abc
▿ [1] : 2 elements
- .0 : xyz
- .1 : 1234
▿ [2] : 2 elements
- .0 : status
- .1 : ok
这是我收到的数据(格式很好,没有换行符):
{
"message": "http://abc.abc",
"xyz": "1234",
"status": "ok"
}
这是编码问题吗?这里发生了什么?
它不是一个数组,它是你的 NSMutableDictionary。
在调试器中打印时看起来像这样:有 3 个条目,每个条目都有一个键和一个值。
在 dataDictionary
上执行 ALT+CLICK 并阅读 Xcode 提示,您会看到类型。