javascript - 我如何访问 JSON 文档中的子元素

标签 javascript arrays node.js json object

这是我的问题,我正在尝试解析一个具有多个对象的对象,但它们不是数组中对象的形式。我的数据如下所示

{ "Jurisdiction": {
         "Mwd Water Stdby Chg": {
             "Tax Type": "Actual",
             "Tax Amount": "$10"
        },
         "Mosq/Fire Ant Assmt": {
             "Tax Type": "Actual",
             "Tax Amount": "$7"
        },
         "Vector Control Chg": {
             "Tax Type": "Actual",
             "Tax Amount": "$2"
        },
         "Total Of Special Assessments": {
             "Tax Type": "Actual",
             "Tax Amount": "$19"
        }
    }

我实际上正在尝试将其转换为 obj 数组,例如

{ "Jurisdiction":[{
         "Tax Name" : "Mwd Water Stdby Chg",
         "Tax Type": "Actual",
          "Tax Amount": "$10"
        }...]

我尝试了多种方法来访问元素下的税收类型等,但没有成功。

var obj = JSON.parse(result);
var keys = Object.keys(obj.Jurisdiction);

for (var i = 0; i < keys.length; i++) {


  console.log(keys[i]["Tax Type"])
  console.log([keys[i]]["Tax Type"])
}

全部返回未定义

最佳答案

您可以使用Object.entires()map()

const obj = { "Jurisdiction": {
         "Mwd Water Stdby Chg": {
             "Tax Type": "Actual",
             "Tax Amount": "$10"
        },
         "Mosq/Fire Ant Assmt": {
             "Tax Type": "Actual",
             "Tax Amount": "$7"
        },
         "Vector Control Chg": {
             "Tax Type": "Actual",
             "Tax Amount": "$2"
        },
         "Total Of Special Assessments": {
             "Tax Type": "Actual",
             "Tax Amount": "$19"
        }
    }
}

let res = Object.entries(obj.Jurisdiction).map(x => ({'Tax Name':x[0],...x[1]}));
obj.Jurisdiction = res;

console.log(obj)

关于javascript - 我如何访问 JSON 文档中的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699221/

相关文章:

arrays - 如何创建 VBScript 多行数组?

javascript - 根据用户输入替换而不是附加?

javascript - 使用 Javascript 将 css 链接插入页面的头部

javascript - 当函数调用时设置 setInterval

c - 从数组中删除一个部分

javascript - 如果键值匹配,则合并并减少。重构 JSON 数据响应

javascript - Ember 第一个应用程序无法识别 xml2json 中的 xmlcode

node.js - Node : Never emits "end" when reading a TCP Socket

javascript - 有人可以深入解释这两个电话有何不同

multithreading - 有没有办法在 Node.JS 中的工作人员/线程/某些东西之间共享内存?