我在目标C中使用JSON-FRAMEWORK来解析JSON对象。当我调用[jsonString JSONValue]时,我得到了一个字典,但是键的顺序与我解析的JSON对象的顺序不同。无论如何,要保持此顺序不变?
根据定义 ,在JSON对象中,键值对的顺序没有意义。该规范允许JSON生产者以其想要的任何方式对它们进行置换,甚至是随机的- 并且不需要解析器来保留顺序。RFC 4627说:
对象是零个或多个名称/值对的无序集合,其中名称是字符串,值是字符串,数字,布尔值,null,对象或数组。
如果需要保留顺序,那么您所拥有的不是JSON,而是一种家庭定义的格式,该格式恰好看起来像JSON。