javascript - 从 JSON 中删除 child 并生成只有 parent 的 JSON?

标签 javascript json

我得到了下一个 JSON:

"thing":{ 
    "something":{
        "1":1,
        "2":2
    }
    "somethingelse":{
        "1":1,
        "2":2
    }
}

我想将该 JSON 解析为:

"thing":{
    "something1": 1,
    "something2": 2,
    "somethingelse1": 1,
    "somethingelse2": 2,
}

如您所见,结果元素的名称是父元素和子元素的串联。而值(value)就是 child 的值(value)。任何人都可以帮助我如何在 JavaScript 中获得它?谢谢。

最佳答案

如果您只有一层嵌套属性,则可以使用嵌套循环来实现此目的:

var thing = { 
    "something":{
        "1":1,
        "2":2
    },
    "somethingelse":{
        "1":1,
        "2":2
    }
};

var newThing = {};

for (var key in thing) {
  for (var subKey in thing[key]) {
    newThing[key + subKey] = thing[key][subKey];
  }
}

console.log(newThing);

如果您有任意数量的关卡,递归是正确的选择!

关于javascript - 从 JSON 中删除 child 并生成只有 parent 的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154361/

相关文章:

javascript - D3 强制布局 - 按名称而不是索引链接节点

javascript - window.onfocus 在 IE7 中不触发,在 Opera 中不一致

javascript - 如何从 Internet Explorer 9 创建弹出窗口

javascript - 为什么我的图像不显示在 angular 2/4 css 上?

javascript - 有没有办法在nodejs中迭代和比较dom元素?

json - 如何在httpkit中将Content-Type设置为application/json

python - 使用 python 从嵌套的 json 中提取键值对作为元组

json - 在 Swift 中动态构建 JSON

javascript - 从数组javascript中删除对象

javascript - 在 Javascript 中获取对象的任何级别的元素