JSON的使用总结

json的优势(相对于xml)

1、可读性(可读)

2、可扩展性(有)

3、编码难度(快)

4、解码难度(易)

5、有效数据率(有效)

JSON编写的数据格式

对象形式:

对象:对象在js中表示为“{ }”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象.key 获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。对象是一个无序的“‘名称/值’对”集合。

(1)一个对象以“{”(左括号)开始,“}”(右括号)结束。

(2)每个“名称”后跟一个“:”(英文冒号);

(3)“‘名称/值’ 对”之间使用“,”(英文逗号)分隔。

{
    "name": "zhangsan",
    "password": "123456",
    "email": "12345@qq.com"
}

 数组形式的json数据

数组:数组在js中是中括号“[ ]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。数组是值(value)的有序集合。

(1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。

(2)值之间使用“,”(逗号)分隔。

/**
 * 如果使用 var 变量声明的话,那么调用属性为:data.user,就可以进行遍历
* 如果不使用 var 声明的话就不能就行数据操作
* 如果是ajax请求的本地json数据的话,json文件可以不需要 var 变量声明了
*/ var data = { "user": [{ "name": "张三", "password": "1234" }, { "name": "张三", "password": "1234" }, { "name": "张三", "password": "1234" } ] }

JSON数据和String数据的转化

把一个JSON对象转化为String

      JSON.stringify(JSON对象)

把一个符合json格式的String对象转化为json

     第一种:eval('('+String对象+')')

     第二种:首先引入json2.js 下载地址

      JSON.parse(String对象)

window.onload = function() {
    var user = {
        "name": "张三1",
        "password": "1234"
    };
    console.log(user.name);
    /**
     * json对象转换string对象
     */
    var userStr = JSON.stringify(user);
    console.log(userStr);
    /**
     * string 对象转json对象
     */
    var userJson = eval('(' + userStr + ')');
    console.log(userJson.name);
    /**
     * 使用json2.js转换json
     */
    var UserJson2 = JSON.parse(userStr);
    console.log(UserJson2.name);
}

 

posted @ 2018-04-25 09:14  幺丸  阅读(129)  评论(0编辑  收藏  举报