JSON
Posted 月下大庚角
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON相关的知识,希望对你有一定的参考价值。
认识JSON
JSON(JavaScript 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);
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‘}"; //错误,不能这样写,会影响到其他程序的执行
//只要使用了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}]‘
var json_obj = JSON.parse(json_str);
javascript对象序列化为json字符串
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的主要内容,如果未能解决你的问题,请参考以下文章
json 可视代码工作室Angular with Firebase片段
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”