如何使用 JS 动态删除 JSON 中的父项?

How can I dynamically remove a parent in JSON with JS?

对于一些 JavaScript,我怎样才能将 JSON 从:

{
  "d": {
    "__count": "13",
    "results": [
      {
        "__metadata": {
          "id": "123"
        },
        "COAST": "East",
        "STATUS": "done",
        "COLOR": "blue",
      }
]
}
}

{
    "__count": "13",
    "data": [
      {
        "__metadata": {
          "id": "123"
        },
        "COAST": "East",
        "STATUS": "done",
        "COLOR": "blue",
      }
]
}

基本上删除额外的 "d" 父项并将结果重命名为数据?我在 VueJS 中的 vue-table 上下文中使用它。

这个函数就可以了。

function transform(json) {
  var obj = JSON.parse(json);
  obj.d.data = obj.d.result;
  delete obj.d.result;
  return JSON.stringify(obj.d);
}

假设您将 json 保存在变量 'data':

data = data.d
data.data = data.results
delete data.results

一个解决方案是反序列化您的 JSON 以获得一个对象 (JSON.parse())。然后仅序列化您需要的内容 (JSON.stringify()).

你可以使用循环。

var res = [];
for(var k in jsonData){
    res.push(jsonData[k]);
}

var jsonData = {
  "d": {
    "__count": "13",
    "results": [
      {
        "__metadata": {
          "id": "123"
        },
        "COAST": "East",
        "STATUS": "done",
        "COLOR": "blue",
      }
]
}
};

console.log(jsonData);

var res = [];
for(var k in jsonData){
    res.push(jsonData[k]);
}
console.log("result:");
console.log(res);