ios - 解析 JSON 时奇怪的排序

标签 ios objective-c

我正在开发一个应用程序并使用我的 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 的作用是这样的:

wrong sorting

为什么 Objective-C 对元素进行排序,为什么这么错?

希望对您有所帮助! :)

最佳答案

不保证 NSDictionary 以任何给定顺序存储键。

关于ios - 解析 JSON 时奇怪的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655318/

相关文章:

ios - 从 URL 下载图片 iOS 10 Swift 3

ios - 如何在 IOS 上使用 Phonegap 读取具有群组名称的联系人

ios - UITableView 像 Swift 中的 UIPickerView 一样选择了行中心

objective-c - 如何自定义 UIWebView 点按链接表

objective-c - iOS 相当于 MacOS NSAttributedString initWithRTF

objective-c - 关于应用内购买

ios - 检测滚动的tableviewcell

ios - 表格单元格未显示

ios - 检测是否在越狱的 iDevice 中安装/卸载了另一个应用程序

objective-c - 用于过滤掉无效/不准确位置的 iOS 位置服务方法