一尘不染

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

json

我在目标C中使用JSON-FRAMEWORK来解析JSON对象。当我调用[jsonString
JSONValue]时,我得到了一个字典,但是键的顺序与我解析的JSON对象的顺序不同。无论如何,要保持此顺序不变?


阅读 201

收藏
2020-07-27

共1个答案

一尘不染

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

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

如果需要保留顺序,那么您所拥有的不是JSON,而是一种家庭定义的格式,该格式恰好看起来像JSON。

2020-07-27