簡體   English   中英

從json讀取值

[英]Read value from json

我正在使用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 + " --- ");
}

我的控制器是

    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#庫生成JSON,而不是通過將字符串混在一起來完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM