2017-08-15 67 views
-4

我有一個從數據庫來一個JSON如何遍歷JSON字符串的每個屬性

[ 
    { 
    "id": "0001", 
    "type": "donut", 
    "name": "Cake", 
    "ppu": 0.55, 
    "batters": { 
     "batter": [ 
     { "id": "1001", "type": "Regular" }, 
     { "id": "1002", "type": "Chocolate" }, 
     { "id": "1003", "type": "Blueberry" }, 
     { "id": "1004", "type": "Devil's Food" } 
     ] 
    }, 
    "topping": [ 
     { "id": "5001", "type": "None" }, 
     { "id": "5002", "type": "Glazed" }, 
     { "id": "5005", "type": "Sugar" }, 
     { "id": "5007", "type": "Powdered Sugar" }, 
     { "id": "5006", "type": "Chocolate with Sprinkles" }, 
     { "id": "5003", "type": "Chocolate" }, 
     { "id": "5004", "type": "Maple" } 
    ] 
    }, 
    { 
    "id": "0002", 
    "type": "donut", 
    "name": "Raised", 
    "ppu": 0.55, 
    "batters": { 
     "batter": [ 
     { "id": "1001", "type": "Regular" } 
     ] 
    }, 
    "topping": [ 
     { "id": "5001", "type": "None" }, 
     { "id": "5002", "type": "Glazed" }, 
     { "id": "5005", "type": "Sugar" }, 
     { "id": "5003", "type": "Chocolate" }, 
     { "id": "5004", "type": "Maple" } 
    ] 
    } 
] 

我試圖用穿越下面的jquery ajax調用方法的上述JSON所有屬性

$.ajax({ 
    url: 'myPage.aspx/CallingFunction', 
    type: 'POST', 
    data: '{}', 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: function(data) { 
    alert(data.d) // showing json is fine 
    var MyData = $.parseJSON(data.d); 
    for (i = 0; i < MyData.length; i++) { 
     //How to travers all the properties defined in JSON 
    } 
    } 
}); 
+0

非常類似的問題https://stackoverflow.com/questions/15993038/how -to-traverse-json-object-locating-particular-property-and-pushing-its-content –

+0

你可以使用嵌套循環或遞歸來解決遍歷數據結構的問題,但是你需要怎麼處理數據呢? –

回答

0

Object.keys()可以給你想要的東西:

var i, key, value; 
var keys = Object.keys(MyData); 
for (i = 0; i < keys.length; i++) { 
    key = keys[i]; 
    value = MyData[key]; 
    // ... 
}