按值对 JSON 进行排序


Sort JSON by value

如何按名称->值对我的json文件进行排序?我想通过标签名称的 asc 值显示。知道如何转换我的 json 文件吗?

以下是我的 JSON 文件的外观:

[{
    "id": "105",
    "name": "FIAT",
    "active": true,
    "parentId": "1"
}, {
    "id": "106",
    "name": "AUDI",
    "active": true,
    "parentId": "1"
}, {
    "id": "107",
    "name": "BMW",
    "active": true,
    "parentId": "1"
}, {
    "id": "109",
    "name": "RENAULT",
    "active": true,
    "parentId": "1"
}]

如果有人帮助我,我将不胜感激。提前谢谢。

我建议使用Array#sort()

var data = [
    { "id": "105", "name": "FIAT",    "active": true, "parentId": "1" },
    { "id": "106", "name": "AUDI",    "active": true, "parentId": "1" },
    { "id": "107", "name": "BMW",     "active": true, "parentId": "1" },
    { "id": "109", "name": "RENAULT", "active": true, "parentId": "1" }
];
data.sort(function (a, b) {
    return a.name.localeCompare(b.name);
});
document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');

非常简单。

var data = [
  { "id": "105", "name": "FIAT",    "active": true, "parentId": "1" },
  { "id": "106", "name": "AUDI",    "active": true, "parentId": "1" },
  { "id": "107", "name": "BMW",     "active": true, "parentId": "1" },
  { "id": "109", "name": "RENAULT", "active": true, "parentId": "1" }
];
data.sort(function(a, b) {
  return a.name > b.name;
});
console.log(data);