我有两种正在解析的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];

}

最佳答案

您不“解决”它,您处理它或获取源JSON更改。

要处理它,请检查在请求orderListView时返回的对象的Class类型。它可能是NSArrayNSDictionary,因此您可以使用isKindOfClass:进行测试以决定要做什么。

10-05 22:47