2012-02-29 2 views
1

I 클래스ASP.NET MVC 3 파싱 JSON 오브젝트 표시 데이터

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

는 JS 이상을 사용하는 클라이언트 측에서 이러한 JSON 객체를 해석하는 방법 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; 
    } 

하여 볼에 송신해야 jQuery와 값을 읽으시겠습니까?

나는 귀하의 경우에는이

{"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

+0

무엇을 했습니까? 오류가 있습니까? – senfo

답변

3

구문 분석 할 필요가 없습니다.

var data = jQuery.parseJSON(stringData); 

PS :

당신이 JSON 문자열을 구문 분석 할 수 jQuery를 사용하여, 어쨌든

var id = data.ProcessId; 

: 그냥 set data type to JSON 사용하여 수신 된 데이터 엔티티와 같은 객체와 쉽게 모든 속성에 액세스 할 수 있습니다 후 아약스 요청시 및

ASP.NET MVC에서 개체를 JSON으로 변환하는 데 다음 코드 샘플을 사용하십시오.

return this.Json(fileModel); 
+0

그건 내 문제 였어! 나는 내 대답을 분석하려고 애 쓰고 있었다. 방금 그 집에 전화해야 했어! 감사! – Flea

0

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

같은 JSON 객체를받을 경고

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

에 정의되지 않은 오류를 아래 코드로 JSON 개체를 구문 분석하지만 얻기 위해 노력했다, I 올바른 JSON을 반환한다고 생각하지만 경고가 잘못된 객체를보고 있습니다. 경고 (e.obj)보다는 경고 (obj.SomeProperty)를 시도하십시오. e.obj가 존재하지 않으므로 "정의되지 않은"오류가 발생하는 것 같습니다. 예를 들어, alert (obj.fileModel.ProcessId); 작동해야합니다.

+0

작동하지 않습니다. 구문 분석 후 정의되지 않은 오류가 발생합니다. – Tomas

+0

정의되지 않은 아이디어가 있습니까? 함수? Chrome에서 Firebug 또는 Developers Tools와 같은 것을 사용하고 있습니까? – senfo