一、什么是json:(javascript object notation)是一种轻量级的数据交换格式,是一种与平台无关的数据交换

轻量级:相对于xml而言,JSON解析速度更快,文档更小

二、<emp>

         <name>Sally</name>

         <city>北京</city>

         <age>25</age>

</emp>

{“name”:”Sally”,”city”:”北京”,”age”:25}

 

三、JSON主要分为两种结构

1、  名称/值 对的集合

2、  值得有序列表,大部分语言中理解为数组

四、JSON的表示

1、使用JSON表示对象

{属性名:属性值,属性名:属性值…}

如:{“name”:”Sally”,”city”:”北京”,”age”:25}

属性值可以是:String ,number,Boolean(true,false),null,object

属性名必须使用双引号引起来

属性值如果是字符串,必须使用双引号引起来

3、  使用JSON表示一个数组

语法:[value,value,value…]

Value可以是简单数据类型,也可以是object,数组类型。

例如

这是JSON数组:[{“name”,”jerry”,”age”:22},

{“name”,”Tom”,”age”:32}]

这个代表JSON对象:{“name”:”Jerry”,

“hobby”:[“sing”,”dance”,”eat”]}

 

 

Json事例讲解

1、  json在前台页面的操作

<html>

  <head>

    <base href="<%=basePath%>">

    <script type="text/javascript" src="/json-first/js/json.js"></script>

    <script type="text/javascript">

    //将json字符串转换为json对象

    function f1(){

        var str = '{"name":"Luffy","age":17}';

        //第一种方式(不需要任何的js文件)

        var obj = eval("("+str+")");

        //第二种方式(不需要任何的js文件)

        var obj2 = JSON.parse(str);

        //第三种方式(需要json.js文件)

        var obj3 = str.parseJSON();

        alert(obj.name);

        alert(obj2.name);

        alert(obj3.name);

    }

    //将json字符串转换为json数组

    function f2(){

    //将json数组字符串转换成为json数组对象

        var str='[{"name":"Luffy","age":17},{"name":"Zoze","age":19}]';

        //第一种方式(不需要js文件)

        var arr1 = eval("("+str+")");

        alert(arr1[0].name);

        //第二种方式(需要js文件)

        var arr = str.parseJSON();

        alert(arr[1].name);

    }

    //将json对象转换成json字符串

    function f3(){

        var obj = {"name":"Luffy","age":17};

        //第一种方式(需要json.js文件)

        var str = obj.toJSONString();

        alert(str);

        //第二种方式(不需要任何的js文件)

        var str2 = JSON.stringify(obj);

        alert(str2);

        //如果直接输出json对象将会输出什么内容:[Object object]

        alert(obj);

    }

    </script>

  </head>

 

  <body>

    <input type="button" value="json字符串转换为json对象" onclick="f1()" />

    <input type="button" value="json字符串转换为json数组" onclick="f2()" />

    <input type="button" value="json对象转换成为json字符串" onclick="f3()"/>

  </body>

</html>