Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将JSON数据作为值对映射进行排序_Java_Json_Sorting_Collections_Treemap - Fatal编程技术网

Java 将JSON数据作为值对映射进行排序

Java 将JSON数据作为值对映射进行排序,java,json,sorting,collections,treemap,Java,Json,Sorting,Collections,Treemap,需要根据密钥的优先级对该映射进行排序 所需的输出是 { “5eaa9bs8”:{ “Id”:“1958208”, “优先权”:2 }, “6eaa9ce8”:{ “Id”:“1958208”, “优先权”:1 }, “5eaa9ce8”:{ “Id”:“1958208”, “优先级”:0 } }Json对象不会维持顺序,为了保持顺序,请使用数组 步骤1:将对象转换为数组: {"5eaa9ce8": { "Id": "1958208", "prior

需要根据密钥的优先级对该映射进行排序

所需的输出是 { “5eaa9bs8”:{ “Id”:“1958208”, “优先权”:2 }, “6eaa9ce8”:{ “Id”:“1958208”, “优先权”:1 }, “5eaa9ce8”:{ “Id”:“1958208”, “优先级”:0 }
}

Json对象不会维持顺序,为了保持顺序,请使用数组

步骤1:将对象转换为数组:

{"5eaa9ce8": {
            "Id": "1958208",
            "priority": 0
             },
"5eaa9bs8": {
            "Id": "1958208",
            "priority": 2
             },
"6eaa9ce8": {
            "Id": "1958208",
            "priority": 1
             }
}
keys=Object.keys(yourObj)
for(设i=0;i b[bKey]。优先级)
返回1;
返回0;
}
你的数组排序(比较)
希望这有帮助

keys = Object.keys(yourObj)
for(let i=0;i<keys.length;i++){
   yourArr.push(keys[i])
}
function compare(a,b) {
  aKey = Object.keys(a)[0];
  bKey = Object.keys(b)[0];
  if (a[akey].priority < b[bKey].priority)
    return -1;
  if (a[aKey].priority > b[bKey].priority )
    return 1;
  return 0;
}
yourArr.sort(compare)