2012-07-02 120 views
0

我正在向服務器發送一個AJAX請求,並將檢索響應作爲json對象從具有javascript代碼的服務器傳遞到我的android應用程序。我知道json對象的關鍵值(ID,名稱,狀態等),但我不知道如何獲得它們的值(100,標記,成功等)。我需要這些數據來處理其他任務。有人可以告訴我如何從該json對象提取數據。當我使用alert(http.responseText);如下所示,我得到顯示的json對象。我需要從中獲得價值。用於接收響應在javascript中檢索json對象的值

http.onreadystatechange = function() { //Handler function for call back on state change. 
    if(http.readyState == 4) { 
     alert(http.responseText); 

JSON對象

方法我收到

{"header": {"ID":100,"name:"Mark"},"body":{"status":"success"}} 
+0

您確定您*完全*您發佈的內容嗎?該「JSON」不是JSON,因爲它包含語法錯誤(缺少引號)。 – ThiefMaster

回答

1

您必須將字符串轉換爲對象做var response=JSON.parse(http.responseText);

只把它像任何對象 - console.log(response['name'])

+0

非常感謝! :)我已經把雙引號,並得到錯誤..再次感謝! – harsh

1

你需要使用JSON.parse將其轉換爲JavaScript對象:

var obj = JSON.parse(http.responseText); 

由於一些傳統瀏覽器沒有本機JSON支持,因此您應該包含json2.js以便爲這些瀏覽器提供支持。

0

,你將不得不使用eval http.responseText獲得JSON對象...

但使用eval不建議,這樣你就可以使用json2庫來解析文成JSON對象..

否則,你甚至還可以使用jQuery和使用f圖書館unction parseJSON將其轉換爲json對象