深入理解json

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" }
    ]
}
View Code

 

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" },'+ ']'
View Code

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);

 

posted @ 2017-09-11 20:32  alan-alan  阅读(129)  评论(0编辑  收藏  举报