深刻理解json

SON是什麼?

一種數據格式前端

  • 規範你數據如何展現

基於文本json

  • json更加輕量(帶寬)

被普遍的用於數據交換

數據交換過程:

後端

  • 前端構造一個js對象
  • 後端接收 json字符串
  • 後端處理數據
  • 給出響應
  • 前端展現響應數據


json和js數組

  • json的語法是基於js的
  • js對象是一個實例,佔用內存
  • json能夠用來傳輸,js對象不行
  • json在語法上,更加嚴格
  • json 不是js的子集


總結:

json,json字符串,js中的jsonide

.jsonui

{
    // "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裏的jsonspa

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 數據處理code

// 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);
相關文章
相關標籤/搜索