2012-11-24 44 views
0

我想在客戶端解析數據,我在序列化後將數據保存在輸入字段中。在客戶端通過javascript或Jquery解析Json數據

JavaScriptSerializer objJavaScriptSerializer = new JavaScriptSerializer(); 
string jsonString = objJavaScriptSerializer.Serialize(_statusVal); 
jsonFmtStatusValue.Value = jsonString; 

在客戶端當我看到存儲在輸入字段中的數據串它的到來喜歡哪款我試圖解析JSON數據這

[ 
    { 
     "nodeContentId": "1234_5678", 
     "statusTypeId": "5678", 
     "statusName": "Submitted by Customer", 
     "dateTime": "/Date(1352745000000)/", 
     "forceEmail": "on", 
     "user": { 
      "userId": "0", 
      "userName": "admin" 
     }, 
     "note": { 
      "typeName": null, 
      "dataValue": null 
     } 
    }, 
    { 
     "nodeContentId": "1234_5678", 
     "statusTypeId": "5678", 
     "statusName": "Checked, Printed, Folded & Re-checked", 
     "dateTime": "/Date(1353402060000)/", 
     "forceEmail": "on", 
     "user": { 
      "userId": "0", 
      "userName": "admin" 
     }, 
     "note": { 
      "typeName": null, 
      "dataValue": null 
     } 
    } 
] 

代碼是:

var JsonData = $("#<%=jsonFmtStatusValue.ClientID %>").val(); 
    obj = jQuery.parseJSON(JsonData) 
    alert(obj.nodeContentId); 
我在警戒框中得到的東西:

無法弄清楚我應該用什麼解析。

+0

@pst:他引述他的代碼在解析,那部分沒有問題。 –

回答

3

(注:我假設jsonFmtStatusValue最終是頁面上的inputtextarea

在你alert(obj.nodeContentId);obj陣列,而不是對象數組。最外面的JSON實體是一個數組,它包含對象。

你可以看到第一nodeContentId這樣的:

alert(obj[0].nodeContentId); 

...當然還有其它的是,在隨後的指標,因此,例如:

var obj = jQuery.parseJSON(JsonData); 
var n; 
for (n = 0; n < obj.length; ++n) { 
    alert("obj[" + n + "].nodeContentId = " + obj[n].nodeContentId); 
}