当前位置: 首页 > 面试题库 >

在Objective C中按顺序保持JSON对象的字典键

傅博瀚
2023-03-14
问题内容

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


问题答案:

根据定义 ,在JSON对象中,键值对的顺序没有意义。该规范允许JSON生产者以其想要的任何方式对它们进行置换,甚至是随机的-
并且不需要解析器来保留顺序。RFC 4627说:

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

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



 类似资料:
  • 本文向大家介绍在Python中按字典顺序对单词进行排序,包括了在Python中按字典顺序对单词进行排序的使用技巧和注意事项,需要的朋友参考一下 按字典顺序对单词进行排序意味着我们要首先按单词的第一个字母排列它们。然后,对于第一个字母相同的单词,我们将它们按第二个字母排列在该组中,依此类推,就像在语言的词典中一样(不是数据结构)。 Python有2个函数,按照这种类型的顺序进行排序和排序,让我们看看

  • 问题内容: 我正在尝试创建一个字典,可以将其制成JSON格式的对象并发送到服务器。 例: 我用这个功能 但是我的结果是这样的: 问题 :为什么姓氏是姓氏?我认为 应该 在地址上方。请让我知道我在NSDictionary上做错了什么,这才是错误的。任何帮助将不胜感激-谢谢。 问题答案: 发表评论中已经说过的话:词典是“无序集合”。他们的键/值对根本没有任何顺序。期。 如果要有序集合,请使用除字典外的

  • 我必须创建一个方法,根据电子邮件按字母顺序排序对象的ArrayList,然后打印排序后的数组。我对它排序有困难的部分。我已经研究过它,并尝试使用,但这对我不起作用。我需要一种叫做比较器的东西,但不知道它是如何工作的。我必须使用这些,或者像气泡排序或插入排序之类的东西可以用于这种事情吗? 这是我目前掌握的代码:

  • 问题内容: 我有一本字典 但是,我需要字典的顺序不同: 做这个的最好方式是什么? 问题答案: 字典 没有顺序 。因此,没有办法做到这一点。 如果您使用的是python2.7 +,则可以使用-在这种情况下,您可以使用检索项目列表,然后将其反向并从反向列表中创建一个新项: 如果您使用的是旧版python,则可以从http://code.activestate.com/recipes/576693/获得

  • 问题内容: 我已经在Redis中使用排序集实现了排行榜。我希望具有相同分数的用户按时间顺序排序,即,第一名的用户应排名更高。当前,redis支持词典顺序。有没有一种方法可以覆盖它。手机号码被用作排序集中的成员。 我想到的一种解决方案是在移动电话号码之前添加时间戳,并维护散列以映射移动电话号码和时间戳。 这样,在任何情况下,我都可以通过从哈希添加前缀来获得给定用户的排名。 现在这不是我想要的。这将与

  • 问题内容: 是否有-(NSArray *)keysSortedByValueUsingSelector:(SEL)comparator的类似物? 如何在不强制转换为NSDictionary的情况下执行此操作? 我试过了,但这似乎不是一个好的解决方案。 例: 问题答案: 尝试: 更新: 从beta 3更新到新的数组语法和排序语义。请注意,我正在使用,而不是在最大程度上减少数组复制。该代码可以做得更紧