2017-06-07 77 views
0

JSON值以下是我的ajax成功函數:檢索由鍵

success: function(responseJson) 
{ 
    var receivedData = []; 

    $.each(responseJson.jsonArray, function(index) 
    { 
     $.each(responseJson.jsonArray[index], function(key, value) 
     { 
      var point = []; 

      point.push(key); 
      point.push(value); 
      receivedData.push(point); 
     }); 
    }); 

    if(receivedData["arrayData3"] === "data3") 
    { 
     alert("Edit Customer profile successfully!"); 
    } 
}, 

從上面的代碼中,我所有的數據推入receivedData變量,我可以打印所有鍵和值出剛剛打印變量receivedData,但我怎樣才能通過他們的關鍵獲得具體的價值? receivedData["arrayData3"]將得到未定義。 下面是從我的servlet代碼:

JSONObject json = new JSONObject(); 
JSONArray array = new JSONArray(); 
JSONObject data = new JSONObject(); 
data.put("arrayData1", "data1"); 
data.put("arrayData2", "data2"); 
data.put("arrayData3", "data3"); 
array.add(data); 
json.put("jsonArray", array); 

回答

0

你夾雜了的JSONObject的jsonarray。

實際上,resposeJson就像下面的代碼。

resposeJson = { 
    jsonArray:[ 
     { 
      arrarData1: "data1" 
     }, 
     { 
      arrarData2: "data2" 
     }, 
     { 
      arrarData3: "data3" 
     }, 
    ] 
} 

所以,你Ajax代碼可以所著像下面

success: function(responseJson) 
{ 
var receivedData = []; 

$.each(responseJson.jsonArray, function(index, elem) 
{ 
    receivedData.push(elem); 
}); 

if(receivedData["arrayData3"] === "data3") 
{ 
    alert("Edit Customer profile successfully!"); 
} 
}, 
+0

我代替我的'$ .each'功能與你的,但還是得到了一個未定義而'(receivedData [「arrayData3的警戒值「]' – Newbie

+0

@Newbie對不起,我只是弄錯了,在我的'$ .each'函數中它應該是'var receiveData = {}'和'$ .extend(receiveData,elem)'最後,你需要一個對象。 – sunyuu