json格式的数据遍历后怎么取值

使用JavaScript中的for...in循环遍历JSON对象中的属性和子对象,以获取对应的值

var data = {
  "1": {
    "1": 1,
    "2": 1
  },
  "2": {
    "2": 1
  },
  "3": {
    "1": 1,
    "2": 1
  },
  "4": {
    "2": 1,
    "3": 1
  },
  "5": {
    "2": 2,
    "3": 1
  }
};

for (var key1 in data) {
  if (data.hasOwnProperty(key1)) {
    var obj1 = data[key1];
    console.log('key1: ' + key1);
    for (var key2 in obj1) {
      if (obj1.hasOwnProperty(key2)) {
        var value = obj1[key2];
        console.log('key2: ' + key2 + ', value: ' + value);
      }
    }
  }
}

在这个示例中,我们定义了一个名为data的JSON对象,其中包含五个属性,每个属性都是一个由键值对组成的子对象。然后,我们使用for...in循环遍历该对象中的属性和子对象。我们首先获取每个属性的键,并检查是否是该对象的直接属性(而不是继承来的属性)。如果是直接属性,则获取其对应的值,这个值是一个由键值对组成的子对象。然后,我们使用另一个for...in循环遍历每个子对象中的键和值,分别打印它们的名称和值。

还有一个方法就是采用JSON.parse()方法将字符串转换为JavaScript对象

const dataString = `{
  "1": {
    "1": 1,
    "2": 1
  },
  "2": {
    "2": 1
  },
  "3": {
    "1": 1,
    "2": 1
  },
  "4": {
    "2": 1,
    "3": 1
  },
  "5": {
    "2": 2,
    "3": 1
  }
}`;

const dataObj = JSON.parse(dataString);

// 遍历数据对象
for (const key in dataObj) {
  if (dataObj.hasOwnProperty(key)) {
    console.log(`key: ${key}`);

    const innerObj = dataObj[key];

    // 遍历内部对象
    for (const innerKey in innerObj) {
      if (innerObj.hasOwnProperty(innerKey)) {
        const innerValue = innerObj[innerKey];
        console.log(`innerKey: ${innerKey}, innerValue: ${innerValue}`);
      }
    }
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值