在 Objective C 中保持 JSON 对象的字典键按顺序排列

发布于 2024-12-01 17:50:31 字数 134 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墨落画卷 2024-12-08 17:50:31

在 JSON 对象中,根据定义,键值对的顺序没有意义。该规范允许 JSON 生产者以任何想要的方式排列它们,甚至是随机的——并且不需要解析器来保留顺序。 RFC 4627 说:

对象是零个或多个名称/值的无序集合
对,其中名称是字符串,值是字符串、数字,
布尔值、null、对象或数组。

如果您需要保留顺序,那么您拥有的不是 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:

An object is an unordered collection of zero or more name/value
pairs, where a name is a string and a value is a string, number,
boolean, null, object, or array.

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文