解析 JSON 对象时 JSONSerilazation 不起作用
Posted
技术标签:
【中文标题】解析 JSON 对象时 JSONSerilazation 不起作用【英文标题】:JSONSerilazation not working while parsing JSON object 【发布时间】:2015-03-18 10:47:01 【问题描述】:解析从服务器获取的 NSData 时出现错误。 我无法获得 NDIctinory。
我收到错误“对象中的值没有字符串键”
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:[body dataUsingEncoding:NSUTF8StringEncoding]
options:kNilOptions
error:&error];
有人可以帮我解决这个问题吗?
【问题讨论】:
google.co.in/… 你能发布你的完整代码吗? 修正了一些语法和格式。删除无关的谢谢。 你能把收到的 JSON 贴出来吗 如果您不向我们展示 JSON,就很难告诉您出了什么问题。 【参考方案1】:错误消息说在对象(这就是 JSON 所称的字典)中有一个不是字符串的键,即。 e.一个数字或另一个对象。这是无效的。
来自 RFC7159, 4:
对象结构表示为一对花括号 围绕零个或多个名称/值对(或成员)。 name 是一个 字符串。
因此,您将获得无效的 JSON。如果可能的话,改变它。此外,您可以在 Q 中发布整个 JSON。(不在对此 A 的评论中。)
【讨论】:
以上是关于解析 JSON 对象时 JSONSerilazation 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
当某些返回值可能是对象或对象集合时,如何使用 GWT AutoBeans 解析 JSON 消息?
当 Json root 不是数组而是对象时如何解析 JSON 数据,反之亦然,基于不同的 url?