JSON

1.JSON 是 JS 对象表示法,即以JS对象的方式来表现出来的字符串

(1)用一对 { } 来表示一个对象

(2)对象的属性名称,必须用 " " 属性引起来,值如果是字符串,也必须用 " " 引起来

(3)属性 与 值,用 :连接

(4)多对属性 与 值 之间,用  , (逗号)分开

创建一个对象:liming,他的三个属性如下所示,表示出属性并打印在控制台

height , 值为 185
weight , 值为 80
gender , 值为 男

var liming = {
                     height:185,
                     weight:80,
                     gender:"男"
                }
                console.log(liming.height);
                console.log(liming.weight);
                console.log(liming.gender);

当定义两个对象,并打印两个对象的信息

                //xiaohua的信息
                var xiaohua = {
                     height:165,
                     weight:50,
                     gender:"女"
                }
                 //liming的信息
                var liming = {
                     height:185,
                     weight:80,
                     gender:"男"
                }
                //定义一个数组用于存放以上信息
                var arr = [xiaohua,liming];
                for(var i=0;i<arr.length;i++){
                    var s = arr[i]
                    console.log(s.height,s.weight,s.gender);
                }

将 xiaohua 和 liming 的信息写在数组中,代码为:

                var arr = [{
                     height:165,
                     weight:50,
                     gender:"女"
                },
                {
                     height:185,
                     weight:80,
                     gender:"男"
                }
                ];
                for(var i=0;i<arr.length;i++){
                    var s = arr[i]
                    console.log(s.height,s.weight,s.gender);
                }

2.JSON数组

(1)普通数组表现 : ‘["李明","小花"]‘

(2)对象的数组:

 

                           ‘[
                                {
				 	height:165,
				 	weight:50,
				 	gender:"女"
				},
				{
				 	height:185,
				 	weight:80,
				 	gender:"男"
				}
		            ]‘

(3)JSON文件

  创建一个文件,以 ***.json 作为后缀,该文件中的数据必须是符合JSON格式的字符串

(4)将JSON字符串,转成 JS对象 / 数组

    使用 eval()  (容易出错)

var p = ‘{"name":"li","age":25}‘;
var obj = eval("("+p+")");

   使用 JSON.parse() 来解析 JSON字符串得到的JS对象

var obj = JSON.parse(p)

练习:

  创建一个user.json文件,里边包含一个数组,数组有三个对象,每个对象包含 uname , upwd, gender 属性,分别赋值,并创建一个 getusers.html , 使用异步的方式向 user.json发送一个请求,并按照顺序将数据打印在控制台中

 user.json

[
    {
        "uname":"abcabc",
        "upwd":123123,
        "gender":"男"
    },
    {
        "uname":"abcde",
        "upwd":123456,
        "gender":"女"
    },
    {
        "uname":"王大锤",
        "upwd":111111,
        "gender":"男"
    }
]

getusers.html

<script src="common.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            function showJSON(){
                //1.创建xhr对象
                //2.创建请求
                //3.设置响应事件
                //4.发送请求
                var xhr = createXhr();
                xhr.open("GET","users.json",true);
                xhr.onreadystatechange = function(){
                    if(xhr.readyState==4&&xhr.status==200){
                        var resText = xhr.responseText;
                        var persons = JSON.parse(resText);
                        for(var i=0;i<persons.length;i++){
                            var per = persons[i];
                            console.log(per.uname,per.upwd,per.gender);
                        }
                    }
                }
                xhr.send(null);
            }

3.在php中,可以直接将数组(一维,二维,关联) 转换成JSON格式的字符串

php中通过 : json_encode() 将数组转换为JSON字符串

  语法:$str = json_encode($array);

  注意:如果服务器端响应回来的数据是JSON格式的,需要增加响应消息头
    header("Content-Type:application/json");

JSON

上一篇:Nginx WEB架构实战篇 (一)


下一篇:OMNET++