首页 > 代码库 > ajax学习——理想的数据交换语言JSON

ajax学习——理想的数据交换语言JSON

一、JSON的语法结构

       1.基本结构

          1>名/值对的集合(对象、记录、结构、字典、哈希表……)

              一个名/值对为一个元素,元素名和值中间用“ : ”号隔开,多个名/值对组合为JSON结构,名/值对之间用“ ”分隔。

示例:    JSON结构:

{
     "name" :  "AJAX",
     "sex" : "man"
}
          2>值的有序列表(数组)

示例:

["AJAX", "HTML", "PHP"]

         2.花括号保存对象,方括号保存数组

         3.对象可以保存多个名/值对,数组也可以保存多个对象

示例:

{
   "student":[
          {"name":"charles", "id":"123"},
          {"lesson":"math","teacher":"Tom"},
          {"address":"aaa","number":"1"}
]
}


二、JSON中值的类型

        1.对象   2.数组   3.数字   4.字符串   5.布尔值   6.null


三、JSON的语言支持

支持JSON的语言很多:Javascript、PHP、C#、C、C++、java……

        1.JSON是基于Javascript发展来的,所以Javascript原生支持JSON,JSON的基本结构实际上就是Javascript中的对象和数据,

用Javascript中的函数——eval(string),可以将JSON数据转为Javascript对象。

示例:

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

注意:必须将文本包在括号内,避免产生错误。

        2.PHP中使用JSON,JSON从5.2版本开始对JSON支持,通过json_encode()和jsno_decode()两个方法实现。

示例:

假设$book为一个包含数组,数字等的示例,将$book转为json格式:

$json      = json_encode($book); 
而json_decode()则是将JSON转为PHP对象。


四、json的优缺点

       1.优点:

          1>JSON比XML简洁

          2>解析方便

          3>结构简单

       2. 缺点:

          没有像XML那样的命名空间机制


ajax学习——理想的数据交换语言JSON