我有两种正在被解析的json格式。
没有出现问题的数据,当我使用"orderListView“键获取数据时,数组就会很好地生成。在这种情况下,数组计数为2。
{
"orderListView": [
{
"status": "AC",
"totalRecords": "5",
},
{
"status": "SH",
"totalRecords": "5",
}
]
}在下面的数据中缺少一个方括号,这也被解析为两个对象,因为这应该是一个类似于上面的json的对象。我该如何处理这个问题?
{
"orderListView": {
"status": "AC",
"totalRecords": "1",
}
}编辑:尝试过的解决方案
if ([[appDelegate.orderListJson objectForKey:@"orderListView"] isKindOfClass:[NSMutableArray class]]) {
orderMainArray = [appDelegate.orderListJson objectForKey:@"orderListView"];
}
else
{
NSArray *array = [NSArray arrayWithObject:[appDelegate.orderListJson objectForKey:@"orderListView"]];
orderMainArray = [array copy];
}发布于 2014-01-29 11:29:05
您不能“解决”它,不能处理它,或者更改源JSON。
要处理它,请检查请求orderListView时得到的对象的类类型。它要么是NSArray,要么是NSDictionary,这样您就可以用isKindOfClass:进行测试以决定要做什么。
发布于 2014-01-29 11:52:21
问题是“你的同事一方”。
json应该保持一个标准。应该将其填充到数组或对象中。上述两种情况是由两种不同的方式发展而来的。
@您的终端可以使用异常处理进行管理,但这是有风险的。
https://stackoverflow.com/questions/21429597
复制相似问题