码迷,mamicode.com
首页 > Web开发 > 详细

JSON

时间:2019-01-28 00:54:11      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:必须   ref   序列   blank   name   一维数组   语言   代码   关联数组   

认识JSON

JSONJavaScript Object Notation,JavaScript对象表示法)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。尽管JSON是JavaScript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

JSON 数据格式与语言无关,脱胎于 JavaScript,但目前很多编程语言都支持 JSON 格式数据的生成和解析。JSON 的官方 MIME 类型是 application/json,文件扩展名是 .json

声明和使用

// key必须使用双引号包含
// value,如果是字符串,也必须用双引号包含;对象使单引号包含
var a = {"name":"zs","age":20};

alert(a.name + "  " + a.age);

var b = {
    "name": "ls",
    "hobby": [‘看书‘,‘写字‘],
    "friends": {"boy":"ww","gril":"zl"}
};

alert(b.name + " " + b.hobby[1] + " " + b.friends.boy);

JSON的本质: JSON 是 JS 对象 的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

var obj = {a:"hello", b:"world"};    // js对象

var obj = {"a":"hello", "b":"world"};  // json格式的js对象,也可以叫json对象

var str = ‘{"a":"hello", "b":"world"}‘;  // json,也叫json格式的字符串 必须外层单引号,内存双引号

var str = "{‘a‘:‘Hello‘, ‘b‘:‘world‘}";  //错误,不能这样写,会影响到其他程序的执行

PHP数组转JSON格式的字符串

//只要使用了echo进行输出,那么输出的内容就一定是字符串

//索引数组,会被转为 数组字符串
$arr = [‘aaa‘, ‘bbb‘, ‘ccc‘];
echo json_encode($arr); // ‘["aaa","bbb","ccc"]‘

//关联数组, 会被转为json对象的字符串
$info = [‘id‘=>10001, ‘name‘=>‘zs‘, ‘age‘=>20];
echo json_encode($info); // ‘{"id":10001,"name":"zs","age":20}‘

//二维数组,会被转为一维数组,里面每个单元都是json对象
$list = [
    [‘id‘=>10001, ‘name‘=>‘zs‘, ‘age‘=>20],
    [‘id‘=>10002, ‘name‘=>‘ls‘, ‘age‘=>21],
    [‘id‘=>10003, ‘name‘=>‘ww‘, ‘age‘=>19]
];
echo json_encode($list); // ‘[{"id":10001,"name":"zs","age":20},{"id":10002,"name":"ls","age":21},{"id":10003,"name":"ww","age":19}]‘

json字符串解析为javascript值---js代码

var json_obj = JSON.parse(json_str);

javascript对象序列化为json字符串---js代码

var json_str = JSON.stringify(json_obj);

 

案例补充

    // json字符串----->json对象
    let jsonStr = ‘{ "name": "houfee", "age": 23, "gender": "男"}‘;

    let jsonObj01 = JSON.parse(jsonStr)
    console.log(jsonObj01); // object {name: "houfee", age: 23, gender: "男"}


    let jsonObj02 = eval("(" + jsonStr + ")");
    console.log(jsonObj02); // object {name: "houfee", age: 23, gender: "男"}

    var jsonObj03 = jQuery.parseJSON(jsonStr);
    console.log(jsonObj03); // object {name: "houfee", age: 23, gender: "男"}

    // json对象------>json字符串
    let jsonObj = { name: "houfee", age: 23, gender: "男"};
    let jsonStr01 = JSON.stringify(jsonObj)
    console.log(jsonStr01); // string {"name":"houfee","age":23,"gender":"男"}

 

JSON

标签:必须   ref   序列   blank   name   一维数组   语言   代码   关联数组   

原文地址:https://www.cnblogs.com/houfee/p/9969527.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!