2012-11-24 78 views
0

我想解析從我的控制器調用的web服務中檢索到的json。 現在,只是爲了顯示JSON字符串,我已經做到了這一點MVC3 jquery ajax json data

 $.ajax({ 
     url: this.href, 
     type: 'GET', 
     dataType: "json", 
     data: { myPartNo: returnVal }, 
     success: function (result) { 
      ShowJson(result); 
     } 
    }); 

我只是在一個div顯示的JSON字符串數據作爲文本(它的工作),但基本上,我只是想少數人的例如,來自該json的值例如「顏色」和「大小」。好的,所以像對象數組反序列化等詞彙表就是我需要幫助的地方。我可能在其他項目中完成了它,而不知道它是什麼。我需要做什麼?從控制器端或只在JavaScript內?

回答

1

在具有裏面好像一切在服務器端,你通常定義一些DTO(數據傳輸對象):

public class MyDTO 
{ 
public string value {get; set;} 
public string color {get; set;} 
public int size {get; set;} 
} 

在你的控制器,你只是把它包裝成JSON:

ActionResult MyController(int whatever) 
{ 
MyDTO model = new MyDTO(); 
model.value = ... 
return this.Json(model); 
} 

在客戶端讀取結果並將其視爲常規對象,如:

ShowJson(result.color); 

//或

$("#mydiv").css("color", result.color); // for example 
+0

謝謝凱特的帖子。你知道你在result.value中的「...」部分,這是web服務的響應是一個json字符串,我不知道它的語法。或者我會在視圖上使用jQuery.parseJSON? – Par6

+0

這只是關於服務器端。對不起,令人困惑的是,它只是關於模型。您只需定義該值,然後將其作爲Json結果傳遞。讓我知道如果它仍然不清楚。 – Kath