在 Objective C 中保持 JSON 对象的字典键按顺序排列
我正在使用 Objective C 中的 JSON-FRAMEWORK 来解析 JSON 对象。 当我调用 [jsonString JSONValue] 时,我会返回一个字典,但键的顺序与我正在解析的 JSON 对象的顺序不同。有办法保持这个顺序不变吗?
I'm using the JSON-FRAMEWORK in objective C to parse a JSON object.
When I call [jsonString JSONValue], I get back a dictionary, but the keys aren't in the same order as the JSON Object I'm parsing. Is there anyway to keep this order the same?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 JSON 对象中,根据定义,键值对的顺序没有意义。该规范允许 JSON 生产者以任何想要的方式排列它们,甚至是随机的——并且不需要解析器来保留顺序。 RFC 4627 说:
如果您需要保留顺序,那么您拥有的不是 JSON,而是一种家庭定义的格式,只是表面上看起来像 JSON。
In JSON objects, by definition, the order of the key-value pairs is not meaningful. The specification allows a JSON producer to permute them any way it want, even at random -- and does not require a parser to preserve the ordering. RFC 4627 says:
If you need the ordering to be preserved, what you have is not JSON, but a home-defined format that just happens to look superficially like JSON.