检查 JSON 有一个对象 NSArray

Check JSON has an object NSArray

JSON 服务响应有点问题。该服务以两种不同的方式响应。也就是说,它不会产生错误或有意义的响应,而是向您抛出另一种 json 格式。现在大多数时候这是可以的,但是有时 Objective C 只是放弃,因为它没有处理新结构(即我正在尝试对其进行编程以进行处理)。

我有一个基本的 JSON 调用和 return(摘要)。

NSArray *jsonArray = [[NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e] mutableCopy];

当我调用提供详细信息的服务时,我得到以下格式(无错误)

Printing description of jsonArray:
{
    YBBN =     {
        charts =         (
                        {
                id = "5f0ec74a-6e7c-5484-aef2-5929b85d9739";
                type = General;
            },

当我调用没有数据的同一个服务时,它提供了以下结构,导致崩溃。

Printing description of jsonArray:
{
    NZAA = 0;
}

我只是想检查 returning JSON 如果 charts 节点存在,如果它确实继续(这些不是你看的机器人for) else 抛出错误并处理异常并停止在用户身上崩溃。

我尝试了不同的技术,但每一种技术似乎都完全跳过 "check" 或完全失败。

我已经回到绘图板了,当然有一种简单的方法可以实现简单的 if 语句来检查。我错过了什么?

提前致谢!

好的,我在这个讨论的帮助下找到了问题。 How to check if an NSDictionary or NSMutableDictionary contains a key?

不知道我以前怎么没发现,但我仍然能够测试它的建议并且结果有效。

为了完成,以下代码是我最终得到的,希望这可能对其他人有所帮助。

NSDictionary *newArray = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
                       NSString *_icaoCode = airportICAOCode.text;


                        if ([[newArray allKeys] containsObject:_icaoCode]) {
                            NSLog(@"Contains key");
                        }