JS循环遍历JSON数据的方法

JS循环遍历JSON数据

本文提供了 JS 循环 JSON 数据列,以及 JS 循环遍历 JSON 数据的例子,供大家学习参考。

1. json数据的列循环

var len = json.length;
for (var i = 0; i < len; i++)
{
for (obj in json[i])
{
var obj2 = obj;
}
}

2. JS 循环遍历JSON数据

JSON数据如:

{
    "options":[
        {"text":"王家湾","value":"9"},
        {"text":"李家湾","value":"10"},
        {"text":"邵家湾","value":"13"}
    ]
}

用js循环遍历的方法如下:

//方法1,
var data=[{name:"a",age:12},{name:"b",age:11},{name:"c",age:13},{name:"d",age:14}]; 
      for(var o in data){ 
        alert(o); 
        alert(data[o]); 
        alert("text:"+data[o].name+" value:"+data[o].age ); 
      } 
//方法2,
<script type="text/javascript"> 
function text(){ 
  var json = {"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"value/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"}  
  json = eval(json.options) 
  for(var i=0; i<json.length; i++) 
  { 
     alert(json[i].text+" " + json[i].value) 
  } 
} 
</script>

JavaScript中,循环遍历JSON数据并处理可根据JSON数据是对象还是数组采用不同方法。 ### 遍历JSON对象 对于JSON对象,可使用`for...in`循环或者`Object.keys()`方法。`for...in`循环遍历对象的可枚举属性,示例代码如下: ```javascript const jsonObject = { "name": "John", "age": 30, "city": "New York" }; for (let key in jsonObject) { if (jsonObject.hasOwnProperty(key)) { console.log(key + ": " + jsonObject[key]); } } ``` 使用`Object.keys()`方法可获取对象的所有可枚举属性组成的数组,再结合`forEach()`方法遍历,示例代码如下: ```javascript const jsonObject = { "name": "John", "age": 30, "city": "New York" }; Object.keys(jsonObject).forEach(key => { console.log(key + ": " + jsonObject[key]); }); ``` ### 遍历JSON数组 对于JSON数组,可使用`for`循环、`for...of`循环或者`forEach()`方法。使用`for`循环遍历示例如下: ```javascript const jsonArray = [ { "name": "John", "age": 30 }, { "name": "Jane", "age": 25 }, { "name": "Bob", "age": 35 } ]; for (let i = 0; i < jsonArray.length; i++) { console.log("Name: " + jsonArray[i].name + ", Age: " + jsonArray[i].age); } ``` 使用`for...of`循环遍历示例如下: ```javascript const jsonArray = [ { "name": "John", "age": 30 }, { "name": "Jane", "age": 25 }, { "name": "Bob", "age": 35 } ]; for (let item of jsonArray) { console.log("Name: " + item.name + ", Age: " + item.age); } ``` 使用`forEach()`方法遍历示例如下: ```javascript const jsonArray = [ { "name": "John", "age": 30 }, { "name": "Jane", "age": 25 }, { "name": "Bob", "age": 35 } ]; jsonArray.forEach(item => { console.log("Name: " + item.name + ", Age: " + item.age); }); ``` ### 从远程服务器获取JSON数据遍历处理 从远程服务器获取的JSON数据通常是字符串形式,需要先将其转换为JavaScript对象或数组,可使用`JSON.parse()`方法。示例代码如下: ```javascript const xhr = new XMLHttpRequest(); xhr.onreadystatechange = () => { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { const jsonData = JSON.parse(xhr.responseText); if (Array.isArray(jsonData)) { jsonData.forEach(item => { // 处理数组中的每个元素 console.log(item); }); } else { for (let key in jsonData) { if (jsonData.hasOwnProperty(key)) { // 处理对象的每个属性 console.log(key + ": " + jsonData[key]); } } } } } }; xhr.open('GET', 'https://www.example.com/api/data', true); xhr.setRequestHeader('Accept', 'application/json'); xhr.send(null); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值