2012-07-23 31 views
1

如何將我能夠得到的這個JSON是從我的Web服務更新值:如何解析JSON對象/數組中的Ajax

{"listener":{"id":"1","updated":"false"}} 

這是我已經試過:

$.ajax({ 
     ... 
     success : function(data) {    
      console.log("received listener: " + data);    
      var received = JSON.parse(JSON.stringify(data));        
      var listener = received.listener; 
      var length = listener.length; 
      //alert('returned json' + data + ' no. of products received: ' + length); 
      console.log('returned json' + listener + ' no. of listener received: ' + length); //it says undefined for the length 

      var updated = listener[0].updated; 

     } 
    }); 

謝謝。

+0

'JSON.parse( JSON.stringify(data));':o – Hamish 2012-07-23 03:48:47

+0

另外,一個對象沒有長度屬性。你的錯誤究竟是什麼? – Hamish 2012-07-23 03:49:43

+0

我想獲取更新的值爲false。 – lorraine 2012-07-23 05:11:50

回答

2

首先,該線沒有意義:

var received = JSON.parse(JSON.stringify(data));  

JSON.stringify一個JSON結構轉換爲字符串,並JSON.parse則正好相反。換句話說:

var received = data.listener; // is equivalent. 

其次,received對象

{"id":"1","updated":"false"} 

這不是一個數組,因此它不具有length財產。如果你希望得到的received對象的id,那麼你會很明顯使用:

var updated = listener.id; 

爲您的代碼工作data必須是這樣的:

{"listener":[{"id":"1","updated":"false"}]}