json

一、JSON

JSON叫做JavaScript Object NotationJavaScript对象表示法

json是引用数据类型

语法:

{

   k:v,

  k:v,

  k:v

}

<script type="text/javascript">
     var obj={
        'name' :'vivi',
        'age' :'18',
        'sex' :'女',
        'height':'178'
     }
     console.log(typeof(obj)); //object
     console.log(obj);
     console.log(obj.name);
      console.log(obj["name"]);
</script>

调用某一项数据:

1、通过obj变量打点调用对应属性的属性

 console.log(obj.name);

2、将属性名的字符串格式放在[]

 console.log(obj["name"]);

二、JSON的嵌套

 

var obj = {
   "name":"黄晓明",
   "age":50,
   "sex":"男",
    "height":178,
    "peiou":{
        "name":"杨颖",
        "age":18,
       "height":155
   }
};
console.log(obj.peiou.age); //18
console.log(obj["peiou"]["age"]); //18

三、JSON的添加和删除、赋值

 

1.增加obj里面的项,那么就用点语法赋值

2.新增属性:添加新的自定义属性,就是用json对象的变量打点添加新的属性名,等号赋值

3.删除obj里面的项,用delete

 

var obj = {
   "name":"黄晓明",
    "age":50,
    "sex":"男",
    "height":178,
    "peiou":"杨颖"
};
obj.age++; //改变属性值
obj.sex = "刚刚变完性"; //改变属性值
obj["height"] = 158; //改变属性值

console.log(obj.age);
console.log(obj.sex);
console.log(obj.height);
delete obj.peiou;//删除peiou项
console.log(obj);

//向obj添加cp项
obj.cp = {
    "name":"如花",
    "age":50,
    "weight":180
}
console.log(obj);

 

四、JSON的遍历

 

for...in语句是专门用来遍历JSON的,for循环根据对象的属性名,从第一个开始进行遍历,直到遍历到最后一条属性,循环就结束。

for (变量 in 对象) {

 

 在此执行代码

 

}

//遍历到最后一项,循环结束:k会依次等于obj里面的属性名,然后在循环语句里面,用obj[k]来读取属性值。

for(var k in obj ){
    console.log(k+"的值是:"+obj[k]);
}

创建一个新的json,属性名和属性值与原有的json完全相同,但不是指向同一个json原型。

不能直接用存json的一个变量直接赋值给另一个变量。

方法:创建新的json,内部数据为空,通过循环变量旧的json,得到所有的属性名添加给新的json,然后给新属性赋值

 

//创建新的json,必须是空json对象
var newJson = {};
//遍历旧的json,获得所有的属性名和属性值
//等号左侧,给newJson添加新属性
//等号右侧,将旧的json属性值取出来,赋值给新json对应的属性。
for(var a in obj){
    newJson[a] = obj[a];
}
console.log(newJson);

 

 

 

 

 

 

 

 

 

posted @ 2017-11-07 17:24  欢复  阅读(204)  评论(0编辑  收藏  举报