2013-08-01 129 views
0

我正嘗試使用REST調用來使用API​​中的數據。我已經成功從API獲取數據。 我有不同的休息電話,我爲每個人創建了不同的功能。 我想知道如果我可以存儲這些數據使用JSon如何創建JSon對象並將數據存儲在其中

它工作得很好,並獲得所有其餘調用,但我想將它們存儲在JSon對象的數據,以獲得它作爲結果爲了顯示它。

我做了什麼。 - 我創建了一個名爲Json的新對象 - 我打開使用REST調用來使用數據。 - 但每當我得到這些數據,我都有問題來存儲它們。

var jsonObj = []; //declare object 

     $.each(data.results, function(i,item){ // on this line 

       jsonObj.push({id:item.conceptUuid , 

        MedicalImage: item.dataURI , 
        title: item.title , 
        description: item.description , 


       }); 
      $htmlstring.append($('<li/>').append($('<img/>').attr('src',jsonObj.MedicalImage) )); 
     $htmlstring.append("<div class='title'> title: " + jsonObj.title 
      + "<br> description : "+ jsonObj.description + 

      "</div>") 
      }); 

      $('#result').html($htmlstring); 

該函數應該將查詢字符串作爲參數,服務器將數據作爲JSON返回。

你能告訴我一個例子如何使用jQuery做到這一點在JSON對象中存儲數據,以避免多次調用?

+1

[沒有這樣的東西作爲JSON對象。](http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/) – nnnnnn

+0

看起來正確 - 可以您發佈了實際的響應(「項目」)以及您可以在控制檯中看到的任何錯誤消息? – McGarnagle

回答

0

JSON代表「JavaScript Object Notation」。它是爲串行網絡傳輸而設計的格式,不適用於運行時存儲器。在JavaScript內部,一個JSON對象只是一個對象。 「對象表示法」部分描述了這樣一個事實:即使JSON作爲字符串通過網絡傳輸,它仍然可以作爲常規的普通JS對象 - 無論是軟件還是人工讀取。

在示例中,JSON.stringify({foo:'one', bar:'two'})將返回'{"foo":"one", "bar":"two"}',這是用於HTTP傳輸的JavaScript對象的字符串表示形式。同樣,在接收端調用JSON.parse('{"foo":"one", "bar":"two"}')會將其轉換回數據類型完整的原始對象結構。閱讀更多關於JSON here

除了這種對JSON是和不是什麼的懷疑誤解之外,我並不確定你的意思是保存。我認爲你有困難讀取的數據,並沒有得到任何東西在屏幕上。這可能是由於許多因素造成的,主要有:

  1. 您可能沒有使用反序列化的JSON字符串。在這種情況下,上面的參數datadata.results可能仍然是JSON,在這種情況下,您需要首先調用JSON.parse(data)以迭代數據對象的屬性。
  2. 由於您正在處理成功回調中已存在的變量($htmlstring),您可能會嘗試使用超出範圍的變量。如果是這樣,你應該閱讀JavaScript scope model

如果這些都沒有幫助,我建議你在瀏覽器中打開JavaScript控制檯,運行代碼並檢查錯誤消息。如果有的話,你應該在這裏發佈它們,以更好地爲你提供一個很好的答案。

祝你好運!

相關問題