如何使用 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);
对于一些 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);