1. 程式人生 > >JSON相關的學習筆記,json的表示方法,eval(),parse(),stringify()方法的使用

JSON相關的學習筆記,json的表示方法,eval(),parse(),stringify()方法的使用


"{'name':'yunjie','age':18}"
"[19,'yunjie',true]"
//最常用 的JSON表示結構
[{
    "title":"w",
    "num":1
    },{
    "title":"w",
    "num":1
        },{
    "title":"w",
   " num":1
            }]
 //alert(json);    //模擬Json字串載入過程
//使用eval()來執行字串裡的Js程式碼
var box=eval(json);      //解析json字串,使其變成JavaScript程式碼   
alert(box[1].titel);

//json轉換為JavaScript程式碼
var box='[{"title":"a","num":1},{"title":"b","num":2}]';
//alert(JSON);
var json=JSON.parse(box);
alert(json);

//JavaScript資料轉換為json
var box=[
{
    title:'a',
    num:1
},
{
    title:'b',
    num:2
}

];
var json=JSON.stringify(box);
alert(json);
//第二個引數可以控制其中某個鍵值對不顯示
var box=[
 {
     title:'a',
     num:1,
     value:'li'
 },
{
     title:'b',
     num:2,
     value:'zhao'
 }


];

var json=JSON.stringify(box,['title','value']);
alert(json);
//在所有title對應的值前面加上Mr.
var box=[
 {
     title:'a',
     num:1,
     value:'li'
 },
{
     title:'b',
     num:2,
     value:'zhao'
 }


];

var json=JSON.stringify(box,function(key,value){
     if(key=='title'){
    return 'Mr.'+value;
    }else{
        return value;
        }

    });
    alert(json);

//第3個引數實現縮排

var box=[
 {
     title:'a',
     num:1,
     value:'li'
 },
{
     title:'b',
     num:2,
     value:'zhao'
 }


];

var json=JSON.stringify(box,['title','num','value'],4);  //最後的引數可以是數字也可以是字串
    alert(json);


            
//toJSON方法

var box=[
 {
     title:'a',
     num:1,
     value:'li',
     toJSON:function(){
         return this.title;
         }
 },
{
     title:'b',
     num:2,
     value:'zhao',
     toJSON:function(){
         return this.value;
         }
 }

];

var json=JSON.stringify(box,['title','num','value'],4);  //最後的引數可以是數字也可以是字串
    alert(json);