通过GET调用解析返回的JSON

时间:2018-01-18 20:13:55

标签: jquery json asp.net-mvc parsing

我不确定我错过了什么。我的ajax电话看起来像这样:

$.ajax({

                        type: 'GET',
                        url: "NaiveSentiment/commentValues",
                        contentType: "application/json; charset=utf-8",
                        datatype: "json",
                        success: function (result) {
                            $('#naiveComments').append("<ul id='newList'></ul>");
                            var keys = Object.keys(result);
                            for (var i = 0; i < keys.length; i++) {
                                var key = keys[i];
                               // console.log(key, result[key]);
                                $("#newList").append("<li>" + result[key] + "</li>");
                            }

调用的方法如下所示:

    [System.Web.Mvc.HttpGet]
    public JsonResult commentValues()
    {

        NaiveAnalysisAction naiveAnalysisAction = new NaiveAnalysisAction();
        return Json(naiveAnalysisAction.getCommentAndValues(), JsonRequestBehavior.AllowGet);

    }

和getCommentAndvalues()方法:

 public String getCommentAndValues()
    {
        return JsonConvert.SerializeObject(commentAndValue);  
    }

通话成功,我得到以下结果: enter image description here

“Text”部分是实际的youtube注释,而数字实际上是我根据注释的感性值添加的值。正如您所看到的,所有内容都存储在一个字典中,该字典作为Json对象返回那个字典作为文本部分的“关键”和数字部分的值。

我的问题是,为了使用实际的KEY(评论本身?)成功更新无序列表,我应该更改什么?我发布的方式做了一件奇怪的事情:输出实际上就像我正在阅读的解析器通过每个字符。而不是显示全文,它以字符方式将其整理并逐个显示每个字母

enter image description here

1 个答案:

答案 0 :(得分:0)

使用此代码,它始终适合我

$.ajax({
                    url: 'Ur Url/commentValues',
                    type: 'GET',                        
                    dataType: "json",
                    async: false,
                    success: function (data) {

                    }
                });

控制器

[HttpGet]
        public object commentValues()
        {
            try
            {                                                         
                    var Result =naiveAnalysisAction.getCommentAndValues()
                    return new { IsError = false, DataList = Result };

             }   

            }
            catch (Exception ex)
            {

            }
            return null;
        }