1. 程式人生 > >json資料格式 jQuary解析

json資料格式 jQuary解析

一個花括號代表一個json物件 {}
一箇中括號代表一個json陣列 []
都可以被for遍歷
遍歷json物件返回物件的每個鍵值對的key
遍歷json陣列返回陣列中每個物件的下標

json陣列:data[key]取到物件
json物件:data.屬性  取到屬性值
json物件的key相同:
json物件的key不同:
如何取到json中的每一個值?
=====================================================================================================
當資料為:
[{"福田":80},{"豐田":99},{"大眾":66},{"賓士":87},{"江淮":81},{"現代":82},{"福特":93},{"福田":167},{"金盃":86},{"長安商用":77},{"豐田":97},{"大眾":76},{"賓士":76},{"奧迪":63},{"江淮":91},{"現代":89},{"福特":81},{"福田":149},{"金盃":98},{"豐田":101},{"大眾":95},{"賓士":82},{"江淮":103},{"現代":103},{"福特":104},{"福田":171},{"起亞":68},{"金盃":87},{"長安商用":82},{"福特":62},{"福田":98}]
var x =[]
var y =[]
var outerData = [];
//data為json陣列
for(i in dataArray){ //1、 則i從0開始代表的是每個物件的下標 先遍歷到每一個物件
    var dataobj = data[i] // 2、每次從data[i] 取出object
    var name ="";   //宣告 變數
    var value= 0;
    for(key in dataobj){ //  3、key 為每個jsonobj的鍵 對dataobj取出每一個值
        name = key,
        value = dataobj[key]
    }    
    outerData.push({name:name ,value:value})
}
=====================================================================================================
當資料為:
{"20":80,"30":838,"40":820,"50":996,"60":160}

//data為json物件
for(key in dataobj){ 則key代表每個物件的鍵
    var name ="";   //宣告 變數
    var value= 0;
    for(key in dataobj){ //  3、key 為每個jsonobj的鍵 對dataobj取出每一個值
        innerData.push({
            name: key,
            value: innerJsonObject[key]
        })
    }    
}


=====================================================================================================
資料為:
     [
     {"id":0 , "name":"sand"  , "salary":8000},
     {"id":0 , "name":"tom"   , "salary":9000},
     {"id":0 , "name":"jack"  , "salary":10000},
     {"id":0 , "name":"jerry" , "salary":5000}
     ]
     從外到裡:
         先陣列下標取到物件,在點出屬性的值
        var xAxisData = [];
        var seriesData = [];
        for (i in data){ //data為上面的data  i 為每個data的下標
            xAxisData.push(data[i].name);
            seriesData.push(data[i].salary);
        }