2012-12-11 15 views
0

NET這裏的傢伙,所以我在使用Javascript很生疏(或JQuery的爲此事)的Javascript遍歷.NET SerializedJson

我連載從服務器端.NET的列表,我需要在客戶端訪問。字符串結果採用以下格式。

[{"id":"1","name":"xxx"},{"id":"2","name":"yyy"}] 

我該如何在Javascript中迭代?我真的很難獲得數組中的值。我最終迭代了JSON字符串的每個字符。

function BuildList() { 

      var result = '<%= JSON %>'; 

      for (var obj in result) { 
       alert("Obj: " + obj); 
       for (var property in result[obj]) { 
        alert(property + "value: " + result[obj][property]); 
       } 
      } 

     } 
+0

不要把JSON變量在引號'VAR的結果= <%=JSON%>;' – jwatts1980

+0

@ jwatts1980:一個不錯的主意,但始終不理想。它也可能會搞亂VS自動格式化。 – musefan

+0

@musefan:同意。我+1了你的回答:) – jwatts1980

回答

2

的Javascript內置功能JSON轉換爲JavaScript對象,試試這個:

var myObject = JSON.parse(myJSONtext); 

此代碼示例是taken from here,在那裏你可以閱讀了很多關於它。


你的榜樣,它可以被用來像這樣:

var result = '<%= JSON %>'; 
var resultObject = JSON.parse(result); 
var firstId = resultObject[0].id; 

Here is a working example

+0

美麗。謝謝! – mflair2000

0

您可以使用$.parseJSON()字符串字面解析到一個對象,然後就可以遍歷該對象的屬性。

function BuildList() { 
    var result = '[{"id":"1","name":"xxx"},{"id":"2","name":"yyy"}]'; 
    var resultObject = $.parseJSON(result); 

    $.each(resultObject, function(key, value) { 
     alert("Obj: " + + value.id + '/' + value.name); 
    }) 
} 

BuildList() 

Example fiddle