Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 读取Json数据_Jquery_Json_Asp.net Mvc 3 - Fatal编程技术网

Jquery 读取Json数据

Jquery 读取Json数据,jquery,json,asp.net-mvc-3,Jquery,Json,Asp.net Mvc 3,我有一个MVC操作方法,从中返回数据,如下图所示 作用方法 [HttpPost] public JsonResult LegalCheck(string jsonPackage) { var serializer = new JavaScriptSerializer(); var comments = serializer.Deserialize<Dictionary<string, string>>(jsonPackage.Substring(jsonP

我有一个MVC操作方法,从中返回数据,如下图所示

作用方法

[HttpPost]
public JsonResult LegalCheck(string jsonPackage)
{
    var serializer = new JavaScriptSerializer();
    var comments = serializer.Deserialize<Dictionary<string, string>>(jsonPackage.Substring(jsonPackage.IndexOf('{'), jsonPackage.LastIndexOf('}')));
    var results = MyService.GetViolations(comments, CookieManager.ClientId);
    return Json(results);
}
]}

法律ia等级如下所示

results
Count = 2
    [0]: {[CommentTextarea_1181_1183, Mynamespace.Services.Legal[]]}
    [1]: {[CommentTextarea_1181_1184, Mynamespace.Services.Legal[]]}
 [Serializable]
    public class Legal
    {
        public string Phrase { get; set; }
        public int StartIndex { get; set; }
    }

谢谢

看来
MyService.GetViolations
方法返回了一个
字典
。ASP.NET MVC 3用于序列化JSON响应的
JavaScriptSerializer
在序列化字典时不会生成javascript数组。它生成一个javascript对象。因此不能循环,因为此对象中的索引不是基于0的整数

因此,为了循环,您可以枚举为对象定义的所有属性:

$.ajax({
    url: '@Url.Action("LegalCheck")',
    type: 'POST',
    success: function (result) {
        for (var prop in result) {
            if (result.hasOwnProperty(prop)) {
                // prop is the key and result[prop] is the legals array
                var legals = result[prop];

                alert('the key is ' + prop + ' and the value is ' + legals[0].Phrase);
            }
        }
    }
});

你能发布json返回的样子吗?结果(上图)是返回的json。你想让我发布动作方法中内置的数据吗?是的,我只是看不出图像中是什么样子。我还希望看到它是如何构造的。类似于文本JSON字符串。