我正在开发一个应用程序并使用我的 JSON RESTful API。因此,我像以下示例一样解析 JSON:
NSData * apiReturn;
NSError *myError = nil;
NSDictionary *res = [NSJSONSerialization JSONObjectWithData:apiReturn options:NSJSONReadingMutableLeaves error:&myError];
如果我现在通过 API 将以下 JSON 编码的字符串传递给应用程序:
{"da": {"name":"dienstlicher Anlass", "duty":true, "type":"dropdown", "values":{"gt":{"name":"Gesprächstermin", "recurring":true, "values":{"fa":{"name":"Firma", "duty":true, "type":"text", "multiline":false}, "ar":{"name":"Anrede", "duty":true, "single":true, "type":"checkbox", "values":{"fr":{"name":"Frau"}, "hr":{"name":"Herr"}}}, "nm":{"name":"Gesprächspartner", "duty":true, "type":"text", "multiline":false}, "bm":{"name":"Bemerkung", "duty":false, "type":"text", "multiline":true}}}} },"bm":{"name":"Bemerkung", "values":[], "type":"text"},"bm2":{"name":"Bemerkung", "values":[], "type":"text"}}
(你可以在这里更漂亮地解析它:http://json.parser.online.fr)
NSDictionary 应包含以下键:“da”、“bm”、“bm2” - 以这种方式排序,因为这是对 JSON 字符串的排序!
但是 Objective-C 的作用是这样的:
为什么 Objective-C 对元素进行排序,为什么这么错?
希望对您有所帮助! :)
最佳答案
不保证 NSDictionary 以任何给定顺序存储键。
关于ios - 解析 JSON 时奇怪的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655318/