定义 修改 获取 遍历json对象的方法详解

json非常适合服务器和js之间进行数据的交互;

var json = {name:'张三',age:18};//定义json
alert(json.name); // 访问json
var arrUrl = ['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg'];
var arrTxt = ['海上帆船','小台灯','椰子树','照相机'];
// 以上数组用json格式进行存储
var imgData = {
    url:['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg'],
    txt:['海上帆船','小台灯','椰子树','照相机']
};
alert(imgData.url);//访问整个url  ['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg']
alert(imgData.url[2]);//'img/3.jpg'  访问url数组中下标为2的数组

 

json格式:

var json2 = {name:'张三'};//安全性差
var json2 = {'name':'张三'};//推荐这种写法,比较安全

 

访问json(两种方式):

 

alert(json2.name);//张三
alert(json2['name']);//张三

 

改写json:

json2.name = '李四';
alert(json2.name);//李四

 

数组中包含json:

// 数组里也可以包含json
var arr = [{'name':'张三','age':18},{'name':'李四','age':20}];
alert(arr[0].name);//张三  访问json
alert(arr[0].name+'今年有'+arr[1].age+'岁了');//张三今年有20岁了

 

遍历json中的内容:

只有一组时:

// 遍历json

var json3 = {'name':'张三','age':18,'身高':180,'体重':120,'爱好':'篮球'};
for( var attr in json3 ){
    alert(attr);//name age 身高 体重 爱好 
    alert(json3[attr]);//张三 18 180 120 篮球
}

 

json中有数组时:

var json4 = {
    url:['img/1.jpg','img/2.jpg','img/3.jpg'],
    txt:['海上帆船','小台灯','椰子树']
};
for(var attr in json4){//先for in遍历json,再for遍历数组
    for(var i = 0;i<json4[attr].length;i++){
        alert(json4[attr][i]);//'img/1.jpg','img/2.jpg','img/3.jpg','海上帆船','小台灯','椰子树'
    }
}

 

注意:

json没有长度的属性:json.length是不存在的;

for in 可以查看长度,例如:

var arr1 = ['a','b','c'];
for(var i in arr1){
    alert(i);//0 1 2 会弹出这三个数
}
for(var i in arr1){
    alert(arr1[i]);//a b c 会弹出这三个
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.duanlonglong.com/qdjy/297.html