问题
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?
回答1:
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.
来源:https://stackoverflow.com/questions/7198412/keeping-dictionary-keys-of-json-object-in-order-in-objective-c