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