2013-10-04 50 views
0

我正在通過jquery在Zend框架中創建一個非常簡單的聊天箱,我正在將內容加載到$('#outputArea')這本質上是一個div與$.load(),但我得到一個json對象,我需要提取只有一個消息value.What我與$.load()得到是這樣的:jquery從json負載轉換

[ 
    { 
     "id": "1", 
     "messages": "message 1" 
    }, 
    { 
     "id": "2", 
     "messages": "message 2" 
    }, 
    { 
     "id": "59", 
     "messages": "d" 
    }, 
    { 
     "id": "60", 
     "messages": "w" 
    }, 
    { 
     "id": "61", 
     "messages": "fff" 
    }, 
    { 
     "id": "62", 
     "messages": "d" 
    }, 
    { 
     "id": "63", 
     "messages": "df" 
    }, 
    { 
     "id": "64", 
     "messages": "dfs" 
    }, 
    { 
     "id": "65", 
     "messages": "dw" 
    }, 
    { 
     "id": "66", 
     "messages": "dw11" 
    }, 
    { 
     "id": "67", 
     "messages": "dw112" 
    }, 
    { 
     "id": "68", 
     "messages": "111" 
    }, 
    { 
     "id": "69", 
     "messages": "111" 
    }, 
    { 
     "id": "70", 
     "messages": "dd" 
    }, 
    { 
     "id": "71", 
     "messages": "sddd" 
    }, 
    { 
     "id": "72", 
     "messages": "\n\n" 
    }, 
    { 
     "id": "73", 
     "messages": "ss" 
    } 
] 

我怎麼能這樣做?謝謝。 這裏是jQuery代碼:

$(document).ready(function(){ 
$('#outputArea').load('/index/index'); 
$('#chat').submit(function(){ 
    var message = $('#message').val(); 
    if(message === ''){ 
     $('#error-message').css('display','inline'); 
     return false; 
    } 
    $.post('/index/index',{'message':message},function(data){ 
      $('#error-message').css('display','none'); 
      var n = data.length; 
      $('#outputArea').append('<div>' + data[n-1].messages + '</div>' + '<br />');  
      console.log(data); 
     },'json'); 

    return false; 
    });     
}); 

和PHP指數控制部分負責解析JSON:

if($this->_request->isXmlHttpRequest()){ 
     $this->_helper->viewRenderer->setNoRender(); 
     $this->_helper->getHelper('layout')->disableLayout(); 
     $model = new Application_Model_DbTable_Chat(); 
     $data = $this->_request->getParam('message'); 
     //$data = json_decode($data); 
     $model->createPost($data); 
     $json = $model->fetchAll(); 
     header('Content-type:application/json'); 
     //print_r($json); 
     foreach ($json as $key => $value) { 

     } 
     echo $this->_helper->json->sendJson($json); 
    } 

回答

1

這是你如何通過JSON數組迭代,並獲得相應的鍵和它們的值。

for(var i in data) 
{ 
    var message = data[i].message; 

} 

我認爲你可以繼續下去。