【发布时间】:2013-10-24 14:54:36
【问题描述】:
我正在为现有网站创建一个应用程序。他们目前的 JSON 格式如下:
[
{
"id": "value",
"array": "[{\"id\" : \"value\"} , {\"id\" : \"value\"}]"
},
{
"id": "value",
"array": "[{\"id\" : \"value\"},{\"id\" : \"value\"}]"
}
]
他们在使用 Javascript 转义 \ 字符后对其进行解析。
我的问题是当我在 iOS 中使用以下命令解析它时:
NSArray *result = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&localError];
然后这样做:
NSArray *Array = [result valueForKey:@"array"];
我得到的是NSMutableString 对象,而不是Array。
该网站已经在生产中,所以我不能要求他们更改现有结构以返回正确的
JSON对象。这对他们来说将是很多工作。那么,在他们改变底层结构之前,我有什么办法可以让它在
iOS中工作,就像他们在website上使用javascript一样?
任何帮助/建议都会对我很有帮助。
【问题讨论】:
-
能否提供网络服务链接?
-
“数组”值是一个字符串,而不是一个数组。这是因为它全部被引用和转义。要访问其中的值,您需要在将字符串转换为 NSData 之后再次通过 JSONObjectWithData 运行它。 (YOY NSJONSerialization 没有接受字符串的方法吗??)
-
感谢@HotLicks。不,NSJSONSerialization 只接受数据或流。
-
@Ajeet -- 仅供参考,“YOY 是一种悲哀——“为什么哦为什么”。
-
对不起..我没明白.. :D
标签: ios objective-c json nsmutablearray nsarray