2012-02-29 10 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; }   
    } 

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 id = data.ProcessId; 

、あなたはJSON文字列を解析することができjQueryを使用して::ちょうどset data type to JSON AJAX要求時に、その後、エンティティのようなオブジェクトとは、簡単に任意のプロパティにアクセスすることができ、受信したデータを使用し

​​

PS:

ASP.NET MVCでオブジェクトをJSONに変換するには、次のコードサンプルを使用してください。

return this.Json(fileModel); 
+0

それは私の問題でした!私は私の応答を解析することを試みていた。私はその財産に電話する必要がありました!ありがとう! – Flea

0

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

のようなJSONオブジェクトを受け取り、以下のコードでJSONオブジェクトを解析しますが、アラート

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

に未定義のエラーを取得しようとしています正しいJSONを取得していると思いますが、警告が間違ったオブジェクトを探しています。アラート(e.obj)ではなくアラート(obj.SomeProperty)を試してください。 e.objが存在しないため、「未定義」エラーが発生する可能性があります。たとえば、alert(obj.fileModel.ProcessId);うまくいくはずです。

+0

動作していないため、解析後に定義されていないエラーが発生します。 – Tomas

+0

何が未定義ですか?関数? FirebugやDevelopers ToolsのようなものをChromeで使用していますか? – senfo

関連する問題