SON是什么?
一种数据格式
- 规范你数据如何展示
基于文本
- json更加轻量(带宽)
被广泛的用于数据交换
数据交换过程:
- 前端构造一个js对象
- 后端接收 json字符串
- 后端处理数据
- 给出响应
- 前端展示响应数据
json和js
- json的语法是基于js的
- js对象是一个实例,占用内存
- json可以用来传输,js对象不行
- json在语法上,更加严格
- json 不是js的子集
总结:
json,json字符串,js中的json
.json
{ // "demo":[{},{}] "programmers":[ // {} { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, ], "authors":[ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, ], "musicians":[ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }
js里的json
var o ={};//js对象 // js格式的js对象 var json = { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }; // js格式的字符串 var str = '{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }'; // js格式的数组 var arr =[ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, ] var str ='['+ '{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },'+ '{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },'+ '{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },'+ ']'
json 数据处理
// JSON.stringify(a)
// JSON.parse(str)
var friend ={ firstname:'Good', lastname:'Man', address:'', address1:undefined, phone:['123456',undefined,null], realtionship:function(){ alert('good'); }, }; var str = JSON.stringify(friend)//json字符串(可传送) // // {"firstname":"Good","lastname":"Man","address":"","phone":["123456",null,null]} // console.log(str); JSON.stringify(friend,function(key,value){ // console.log(key); // console.log(value); }) var str2 = JSON.stringify(friend,['firstname','lastname']) // console.log(str2); var str3 = '{"firstname":"Good","lastname":"Man","address":"","phone":["123456",null,null]}'; str3 = JSON.parse(str3); // js对象 // {"firstname":"Good","lastname":"Man","address":"","phone":["123456",null,null]} console.log(str3.lastname);