一尘不染

如何更改JSON中字段的顺序

node.js

场景 :考虑我有一个JSON文档,如下所示:

   {
     "name": "David",
     "age" : 78,
     "NoOfVisits" : 4
   }

问题:我想更改文档中字段的顺序/顺序,说我要ageNoOfVisits然后最后一次name

到目前为止,我将值存储在临时变量中,删除该字段并重新创建相同的字段。由于重新分配不起作用:(

我是通过以下方式做到的:

    temp = doc["age"];
    delete doc['age'];
    doc["age"] = temp;

    temp = doc["NoOfVisits "];
    delete doc['NoOfVisits '];
    doc["NoOfVisits"] = temp;

    temp = doc["name"];
    delete doc['name'];
    doc["name"] = temp;

这样我将获得所需的有序JSON文档。这项要求很特殊,但我仍然需要一些有效的解决方案

问题 :有人可以通过有效的方法来帮助实现这一目标吗?


阅读 1075

收藏
2020-07-07

共1个答案

一尘不染

可能是您可以使用 JSON.stringify()

喜欢

var json = {     "name": "David",     "age" : 78,     "NoOfVisits" : 4   };
console.log(json);
//outputs - Object {name: "David", age: 78, NoOfVisits: 4}
//change order to NoOfVisits,age,name

var k = JSON.parse(JSON.stringify( json, ["NoOfVisits","age","name"] , 4));
console.log(k);
//outputs - Object {NoOfVisits: 4, age: 78, name: "David"}

将所需的键顺序放入数组中并提供给函数。然后将结果解析回json。这是一个小提琴样品

2020-07-07