Json笔记

语法规则

  1. 数组(Arrary):方括号[]
  2. 对象(Object):花括号{}
  3. 名称/值对(name/value):组合成数组和对象,之间用冒号隔开
    1. 名称置于双引号之中
    2. 值有字符串(String)、数值(Number)、布尔值、null、对象和数组
      1. 字符串:需要双引号括起来;不能出现单独的双引号和右斜杠
    3. 并列的数据用逗号分隔

字符串转为对象

  1. eval() 函数参数是一个字符串,作用是直接执行JavaScript代码
<script>
    var str = "console.log('hello')";
    eval(str);//hello

    str='{"name":"zbx","age":20}';
    var obj = eval("(" + str + ")");
    console.log(obj);//{name: 'zbx', age: 20}
</script>
  1. JSON.prase 可以有第二个参数,是一个函数
<script>
    var str = '{"name":"zbx","age":20}';
    var obj = JSON.parse(str);
    console.log(obj);//{name: 'zbx', age: 20}

    function fun(name, value) {
        if (name == "age") {
            value = 14;
        }
        return value;
    }

    var jsonstr = JSON.parse(str, fun);
    console.log(jsonstr);//{name: 'zbx', age: 14}
</script>

对象转为字符串

  1. JSON.stringify(value[,replacer [, space]])
<script>
    var obj={
        name:"zbx",
        age:20
    }
    console.log(obj);//{name: 'zbx', age: 20}

    var jsonstr = JSON.stringify(obj,fun);

    function fun(name, value) {
        if (name == "age") {
            value = 14;
        }
        return value;
    }
    console.log(jsonstr);//{"name":"zbx","age":14}

    var obj1={
        a:1,
        b:2,
        c:3,
        d:4
    }
    console.log(obj1);//{a: 1, b: 2, c: 3, d: 4}

    var jsonstr1 = JSON.stringify(obj1,['c','a','b'],"\t");

    console.log(jsonstr1);
    /*{
        "c": 3,
        "a": 1,
        "b": 2
}*/
</script>

Ajax和Json

  1. 局部更新
  2. xmlhttp.readystate 存有 XMLHttpRequest 的状态,有五个值
    1. 0:请求未初始化
    2. 1:服务器连接已建立
    3. 2: 请求已接收
    4. 3:请求处理中
    5. 4: 请求已完成,且响应已就绪
  3. xmlhttp.status 的值为请求结果,200 表示OK,404 表示未找到页面
<script>
    var xmlhttp;
    xmlhttp=CreateXHR();
    xmlhttp.open("GET","test.json",true);
    xmlhttp.send();
    // 响应函数
    xmlhttp.onreadystatechange=function(){
        if(xmlhttp.readyState==4 && xmlhttp.status==200){
            var jsonstr=xmlhttp.responseText;
            console.log(jsonstr);
            var obj=JSON.parse(jsonstr);
            console.log(obj);
        }
    }
    function CreateXHR(){
        if(window.XMLHttpRequest){
            // IE7+, Firefox, Chrome, Opera, Safari
            return = new XMLHttpRequest();
        }else{
            // IE6, IE5
            return = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
</script>

你可能感兴趣的:(json,笔记)