非常感谢您的帮助。
我在返回 json 序列化字符串的操作中有以下代码List<Dictionary<string,int>>
,但我正在努力使用 JQuery 将数据转换为视图中的可用格式。我希望能够遍历每个字典。
我在使用 List 之前已经这样做了,它有效,所以我可以假设创建一个新模型,但我确信我应该能够反序列化它。
如果有人可以建议一种反序列化此数据的方法或首先发送数据的更好方法,我将不胜感激。
菜单控制器:
public JsonResult Populate(string id) {
// Get and process data, creating all, a List<Dictionary<string,int>>
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize((object)all);
return Json(json, JsonRequestBehavior.AllowGet);
}
我还尝试了以下方法而不是使用 JavascriptSerielizer,但结果相同:
return Json(JsonConvert.SerializeObject(all), JsonRequestBehavior.AllowGet);
cshtml jQuery:
<script type="text/javascript">
$.get('@Url.Action("Populate","Menu")', { id: "MO" }, function (data) {
console.log(data);
var obj = jQuery.parseJSON(data);
console.log('obj: ' + obj);
for (var o in obj) {
console.log('o is: ' + o);
}
})
.done(function (d) {
console.log('done: ' + d);
})
.fail(function (d) {
console.log('fail: ' + d);
});
</script>
在控制台中我得到:
数据
[{"foo":2,"bar":0,"ray":3,"doh":1},{"mee":1,"so":0,"lah":2,"far":0}]
对象
obj: [object Object],[object Object]
○
o is: 0
o is: 1
完毕
done: [{"foo":2,"bar":0,"ray":3,"doh":1},{"mee":1,"so":0,"lah":2,"far":0}]
非常感谢您的帮助。