javascript - 从 json 读取值

标签 javascript json asp.net-mvc-4

我使用的是MVC4

我正在使用 Ajax 返回 JSon 值

function GetTopConnector(logoId) {

    //Get all products for Memory

    $.ajax({
        type: "POST",
        url:"Product/GetJsonTopConnectors",
        contentType: "application/json;",
        dataType: "json",
        success: function(data) { OnSuccess(data); },
        failure: OnFailure,
        error: OnError
    });

};


function OnSuccess(response) {

    var obj = JSON.parse(response); // fails, as does JQuery.parse

    var company = response[0].company;
    var partNumber = response.partNumber;
    var thumbnail = response["thumbnail"];

    alert(company + " --- " + partNumber + " --- " + thumbnail + " --- ");
}

我的 Controller 是

    public JsonResult GetJsonTopClickConnectors()
    {
        var connector = bll.Connectors.GetTopConnector();

        var result = "{'partNumber':'" + connector.PartNumber + "','company':'" + connector.CompanyName + "','thumbnail':'" + connector.Thumbnail + "'}";

        return Json(result);
    }

上面的“工作”是指 OnSuccess js 函数被调用,并且响应变量有一个值。

根据我读到的内容,这个值已经是一个 Json 格式的值。如果我理解正确的话,JSon 没有特殊属性,它只是给定格式的字符串。正如您在我的 OnSuccess 函数中看到的,我想将其视为一个对象。

Google 搜索建议我将其解析为一个对象,例如 JSON.parse(),但这会引发一个期望,并且我的结果永远不会填充。

目标是能够执行 var company = response.company

我该怎么做?

最佳答案

var result = "{'partNumber':'" + connector.PartNumber + "','company':'" + connector.CompanyName + "','thumbnail':'" + connector.Thumbnail + "'}";

无法生成有效的 JSON(' 不是 JSON 中的字符串分隔符)。使用 linter 测试输出并找到 C# library对于 generating JSON而不是通过将字符串混在一起来实现。

关于javascript - 从 json 读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27885804/

相关文章:

javascript - 从我的日历中过滤事件给出了错误的结果

javascript - <td> 内的动态 anchor 标记

c# - 自动增量和 SQL 的身份

asp.net-mvc - 如何在 ASP.Net MVC 中的 ListBoxFor HTML Helper 上添加选项标签

javascript - 在外部js文件中获取CSRF token

javascript - JS默认操作数

javascript - 从 Axios 返回 promise ?

ios - 在swift 4中通过JSON url加载阿拉伯语言数据

带有对象数据的 Javascript 2D 数组通过 $.Ajax() 转换为 PHP $_POST 的 vail JSON 字符串

javascript - jQuery.ajax() 不触发处理程序