对嵌套的JSON数组进行排序

Sorting nested JSON array

本文关键字:排序 数组 JSON 嵌套      更新时间:2023-12-07

我正在尝试对这个JSON对象进行排序:

JSONObject = {
    "command": [{
        "geobox": [...],
        "jobName": "...",
        "keywords": ["..."],
        "users": ["..."]
    }, {
        "geobox": [...],
        "jobName": "...",
        "keywords": ["...", "..."],
        "users": ["...", "...", "..."]
    }],
    "type": "..."
}

它有一个嵌套json对象的数组"command"和一个我并不关心的"type"。我希望它根据jobName值按字母顺序对"command"中嵌套json对象的数组进行排序。我试过这样的东西,但没用。

JSONObject.command.sort(function (a, b) {
    return JSONObject.command[a].jobName - JSONObject.command[b].jobName
});
var compareStr = function (a, b) { 
   if (a.jobName == b.jobName) 
       return 0; 
   if (a.jobName > b.jobName) 
       return 1; 
   return -1;
};
JSONObject.command.sort(compareStr);