在Objective C中按顺序保存JSON Object的字典键

时间:2011-08-25 23:34:04

标签: objective-c json nsdictionary key

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

1 个答案:

答案 0 :(得分:16)

在JSON对象中,按照定义,键值对的顺序没有意义。该规范允许JSON生成器以任何方式置换它们,即使是随机的 - 并且不需要解析器来保留排序。 RFC 4627说:

  

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

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