JSON对象及Json和字面量对象的区别

JSON对象的格式:json

JSONJavaScript Object Notation)一种简单的数据格式,比xml更轻巧。XML曾经是程序界风靡一时的语言,但JSON的出现对他也有不小的冲击。数组

JSONJavaScript原生格式,这意味着在JavaScript中处理JSON数据不须要任何特殊的API或工具包。 服务器

JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每一个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。ide

规则以下:函数

1) JSON的属性名称要求以“双引号”包裹      工具

2) 映射用冒号(“:”)表示。名称:spa

3) 并列的数据之间用逗号(“,”)分隔。名称1:1,名称2:2debug

4) 映射的集合(对象)用大括号({}”)表示。{名称1:1,名称2:2}code

5) 并列数据的集合(数组)用方括号([])表示。xml

         [

           {名称1:,名称2:2},

           {名称1:,名称2:2}

         ]

6) 元素值可具备的类型:string, number, object, array, true, false, null

1.1. JSON示例

JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。可用大括号分级嵌套数据。

var obj = {};

对象描述中存储的数据能够是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。

 

1.2. 解析JSON

JSON 只是一种文本字符串。

能够JavaScript eval 语句。函数 eval 会把一个字符串看成它的参数。而后这个字符串会被看成 JavaScript 代码来执行。由于 JSON 的字符串就是由 JavaScript 代码构成的,因此它自己是可执行的

代码实例:

<script language="JavaScript">

     var jsonObj = {"name":"xiaoq","age":18};

     // 查看json对象的原生结构

     console.debug(jsonObj); // "({name:"xiaoq", age:18})"

 </script>

<script language="JavaScript">

     var jsonStr =’{"name":"xiaoq","age":18}’;

     // 查看json对象的原生结构

     console.debug(eval(“(+jsonStr+)”)); //

 </script>

 

1.3. JSONJS字面量(重要)

JS字面量:

{name:”小强}

 

JSON

   {name:”小强}

 

格式的识别,能够采用字符串转换方式。

 

可是,eval的参数是js字符串(并非JSON字符串)。

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

 

 

ECMAScript3.1标准中,已经提供了一个名为JSON的全局对象,专门用来解析和反解析JSON字符串。

var obj = JSON.parse("{}"); // 字符串转JSON

JSON.stringify(obj);// 对象转JSON

 

1.4. 操做JSON

例子1

<script language="JavaScript">

     var people ={"firstName": "Brett", "lastName":"McLaughlin",

     "email": "brett@newInstance.com" };

     alert(people.firstName);

     alert(people.lastName);

     alert(people.email);

 </script>


 

 

 

 

<script language="JavaScript">

      var people =[

                     {"firstName": "Brett","email": "brett@newInstance.com" },

                     {"firstName": "Mary","email": "mary@newInstance.com" }

                ];

 

    alert(people[0].firstName);

    alert(people[0].email);

    alert(people[1].firstName);

    alert(people[1].email);

 </script>

 

 

 

 <script language="JavaScript">

      var people ={

             "username":"mary",

             "age":"20",

             "info":{"tel":"1234566","celltelphone":788666},

             "address":[

                     {"city":"beijing","code":"1000022"},

                     {"city":"shanghai","code":"2210444"}

              ]

        };

 

      window.alert(people.username);

      window.alert(people.info.tel);

      window.alert(people.address[0].city);

 </script>

 

1.5. JSON小结

优势:

做为一种数据传输格式,JSON XML 很类似,可是它更加灵巧。

JSON 不须要从服务器端发送含有特定内容类型的首部信息。

缺点:

语法过于严谨

代码不易读

eval 函数存在风险

 

简述JavaScript字面量和JSON之间的区别??

相关文章
相关标签/搜索