试图解析由一个安静的Web APS为iOS项目返回的json数组

试图解析由一个安静的Web APS为iOS项目返回的json数组,第1张

概述我正在尝试解析由RESTful Web API返回的 JSON数组,该API看起来类似于以下内容(使用jsonviewer,json作为一组数组中的字典返回): [{"date": "2011-03-21","meal": "BREAKFAST","category": "BREAKFAST BAKERY","recipe": "213012","name": "Aesops Bagel 我正在尝试解析由RESTful Web API返回的 JSON数组,该API看起来类似于以下内容(使用JsonvIEwer,Json作为一组数组中的字典返回):

[{"date": "2011-03-21","meal": "BREAKFAST","category": "BREAKFAST BAKERY","recipe": "213012","name": "Aesops Bagels","portion": "1","unit": "each"},

试图获取“名称”信息,然后将其存储到tablevIEw中.这是我用来完成的代码:

-(voID)connectionDIDFinishLoading:(NSURLConnection *)connection{    NSArray *allDataArray = [NSJsONSerialization JsONObjectWithData:webData                                                             options:0                                                               error:nil];    for (NSDictionary *diction in allDataArray) {        NSDictionary *menuItem = [diction objectForKey:@"menuItem"];        Nsstring *name = [menuItem objectForKey:@"name"];        [array addobject:name];    }    [[self MytableVIEw]reloadData];}

我得到的错误是:

Terminating app due to uncaught exception ‘NSinvalidargumentexception’,reason: ‘*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil’

所以我很确定在for循环上面的行中发生了错误,这导致数组尝试将nil作为值.但任何帮助找出问题/如何成功解析这个Json将是非常感激的.我对Json,xcode和iOS都很新,所以如果我做了特别愚蠢的事情我会道歉.

解决方法 您实际上在JsON示例中没有名为menuItem的项目.您的代码看起来像是为了解析看起来像这样的JsON:

[{ "menuItem" : { "name" : "Aesops Bagels",…                } },]

即,它期望列表中每个字典中的“menuItem”键.
如果您实际上正在尝试解析您发布的代码段,我认为您只需要简化您的循环代码:

NSDictionary *menuItem = [diction objectForKey:@"menuItem"];Nsstring *name = [menuItem objectForKey:@"name"];

至:

Nsstring *name = [diction objectForKey:@"name"];

在尝试将名称添加到结果数组之前,您可能还需要确保名称不是nil,以防您的数据有一个缺少名称的条目.

总结

以上是内存溢出为你收集整理的试图解析由一个安静的Web APS为iOS项目返回的json数组全部内容,希望文章能够帮你解决试图解析由一个安静的Web APS为iOS项目返回的json数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1055007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存