2012-02-29 56 views
1

我有一個類ASP.NET MVC 3解析JSON對象和顯示數據

public class ConversionResultModel 
    { 
     public string ProcessId { get; set; } 
     public bool Result { get; set; } 
     public string Message { get; set; }   
    } 

發送它使用JSON

public ActionResult UploadFile(IEnumerable<HttpPostedFileBase> clientUpload) 
    { 
     string destinationPath = ""; 
     JsonResult result = null; 
     var fileModel = new ConversionResultModel(); 
     fileModel.ProcessId = "4558-95559-554"; 
     fileModel.Result = true; 
     fileModel.Message = "test.pdf"; 
     result = Json(new { fileModel }, "text/plain"); 


     return result; 
    } 

如何使用JS或在客戶端解析這樣的JSON對象,以查看jQuery和讀取值?

我曾嘗試用代碼來解析JSON對象之下,但得到了一個未定義錯誤警報

var obj = $.parseJSON(e.response); 
alert(e.obj); 

我收到JSON對象,這樣

{"fileModel":{"ProcessId":"4558-95559-554","Result":true,"Message":null,"SourceFile":null,"ConvertedFileName":"test.pdf","ConvertedFileSize":1233444,"DownloadUrl":"http://localhost:2008/download?path=4558-95559-554","DeleteUrl":"http://localhost:2008/download?path=4558-95559-554"}} 
+0

我試圖用$ .parseJSON(e.response)解析,但它不起作用。 – Tomas 2012-02-29 12:24:51

+0

它做了什麼或不做什麼?有沒有錯誤? – senfo 2012-02-29 12:26:43

回答

3

你並不需要解析它。只是set data type to JSON在Ajax請求,然後利用接收到的數據對象類似實體上,你可以輕鬆地訪問任何財產:

var id = data.ProcessId; 

總之,使用jQuery您可以解析JSON字符串:

​​

PS:

使用以下代碼示例將對象轉換爲ASP.NET MVC中的JSON:

return this.Json(fileModel); 
+0

這是我的問題!我試圖解析我的回答。我只需要致電該物業!謝謝! – Flea 2014-03-10 14:39:49

0

http://api.jquery.com/jQuery.parseJSON/

在你的情況,我認爲你找回了正確的JSON,但是你的警報正在查看錯誤的對象。嘗試alert(obj.SomeProperty)而不是alert(e.obj)。 e.obj不存在,這很可能是你得到「未定義」錯誤的原因。例如,alert(obj.fileModel.ProcessId);應該管用。

+0

不工作,解析後出現undefined錯誤。 – Tomas 2012-02-29 12:25:46

+0

任何想法什麼是未定義?功能?您是否在Chrome中使用Firebug或開發人員工具來幫助您? – senfo 2012-02-29 12:28:38