首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 5 NSJSONSerialization误差

iOS 5 NSJSONSerialization误差
EN

Stack Overflow用户
提问于 2013-08-28 21:24:19
回答 1查看 190关注 0票数 1

我试图使用NSJSONSerialization解析一个本地JSON文件。在iOS 6上工作得很好,但是在iOS 5上我得到了一个错误The operation couldn’t be completed. (Cocoa error 3840.)" (Duplicate key for object around character 1515.),为什么在iOS 5上有一个重复的键,而在iOS 6上却没有?我尝试过各种JSON验证服务,所有这些服务都认为它是一个有效的JSON文件。我已经读过\字符可以导致这种情况,但是我的JSON不包含使用Find验证的\字符。如何使这个JSON在iOS 5上反序列化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-28 21:43:03

重复的键不像RFC 4672那样无效。在第2.2节中。对象,它只是声明:

“.对象内的名称应该是唯一的。”

“应该”一词的含义在RFC 2119中有定义

  1. 如果这个词,或形容词“建议”,意味着在特定情况下可能存在忽略某一特定项目的正当理由,但在选择不同的路线之前,必须理解和仔细权衡其全部含义。

也就是说,NSJSONSerialization在iOS 6中的行为仍然是“正确的”。

海事组织,关于重复密钥的行为应该是一个可配置的选项:

  1. 静默地接受重复的键,如果这是一个具有唯一键的关联容器(对于NSDictionary是这样的),则可能省略生成的表示中的重复项,或者
  2. 将警告记录到错误控制台,或
  3. 发出错误信号。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18498468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档