json - 按键排序字典

标签 json swift dictionary

我正在尝试使用多键值字典创建一个参数请求,并且创建的非常完美。但是每次字典都是用随机键值顺序创建的。如何根据字典键进行排序或排序。 示例:

    [
      "mbappdetails": [
"locationdtls": [
          "ipAdress": "100.105.100.6",
          "locationDtl": "NaviMumbai,Maharashtra",
          "longdtl": "73.0152077",
          "latdtl": "19.1112212"
        ],
        "appdtls": [
          "appregflg": "00",
          "appid": "com.mmcompany.nstapp",
          "applversion": "1.0.70",
          "pushnkey": "cVCzsSyxCLr4l5JPElHWLDiNuoQJcbFmRlN5LFWZM9hN5lYYZnJy_4Kvvu2_fAjBXhGxbKpt"
        ],
        "devicedtls": [
          "deviceserial": "ExtEYNBSO8D85KR7DCEIOSHH",
          "devicemodel": "iPod Touch 6",
          "os": "iOS",
          "simflag": "N",
          "devicesdkversion": "12.10",
          "deviceproduct": "iPod Touch 6",
          "deviceid": "XXXXX-A2F5-XXXX-8EAC-XXXXX",
          "devicemake": "iPod touch",
          "rootflg": "N",
          "devicebrand": "APPLE",
          "osVersion": "12.1.4"
        ],
        "channelid": "XXXXXXRRRRRR"
      ],
      "token": "myToken",
      "signcs": "encrypted_dictionary_key_values_with_signature_key"
    ]

顺序应该是:channelid,appdtls,devicedtls,locationdtls,token,signcs

输出必须仅在字典中。

最佳答案

不幸的是,Dictionary 数据结构并不是为任何排序存储而设计的。但是,您可以对键进行排序并以数组的形式获取它。

let dictionary = [
    "A" : [1],
    "Z" : [3],
    "C" : [2]
]

let keysSorted = Array(dictionary.keys).sorted(<)

然后您可以遍历排序的数组并按键查找字典值。希望对您有所帮助!

关于json - 按键排序字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55761983/

相关文章:

javascript - 使用从 JSON 派生的 Knockout 可观察量来动态更新 View

C# 操作 JSON 数据

objective-c - 解析 JSON 错误

ios - 如何遍历 JSON 坐标并将注释构建为一个函数?

TableView 单元格中的 iOS 布局约束冲突

python - 在Python中合并两个list字典

python - 如何在 map 中将项目作为参数列表传递?

javascript - 如何使用 JavaScript 解析 &lt;script&gt; 中的内容?

multithreading - 调用 NSManagedObject 函数会中断,但访问变量时不会中断

c# - 如何在 C# 中找出字典值的并集?