json - 如何更改 JSON 中字段的顺序

标签 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 文档。这个要求很特殊,但我仍然想要一些有效的解决方案

问题:有人可以提供有效的方法来实现同样的目标吗?

最佳答案

也许你可以使用 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。 这是一个sample fiddle .

关于json - 如何更改 JSON 中字段的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16542529/

相关文章:

json - 崩溃 : Convert dictionary to Json string in Swift 3

node.js - 无法在 mikroorm 中的模块外部使用 import 语句

javascript - Webpack - 不要为某个入口点输出包

javascript - 在与 mongoDb 和 mongoose 聚合后填充单个 ObjectId 引用

javascript - 如何在 javascript 或 MySQL 中对数据透视动态数组进行分组?

java - 如何使用 Jackson JSON 验证 JSON

android - Gson fromJson() 返回具有空属性的对象

javascript - 排序复杂的 JSON 对象

json - 使用 redigo 从 Redis 将 json 部分转换为 Go 结构

javascript - node.js 无法连接到 mysql