javascript - 我应该如何使用对象中包装的 jQuery JSON 答案进行解析?

标签 javascript jquery json

我需要解析包含此结构的 JSON 答案

{

        "TariffItems": [
            {
                "TariffId": "89",
                "TariffCode": "Y",
                "TariffRusName": "Эконом"
            },
            {
                "TariffId": "67",
                "TariffCode": "C",
                "TariffRusName": "Бизнес"
            },
            {
                "TariffId": "87",
                "TariffCode": "J",
                "TariffRusName": "Премиум"
            }
        ]
    }

当我在 Firebug 中看到它时,它显示每个 TariffItems 都包装在对象中,这意味着跟随 jquery 无法获取值。我该如何更改?

$.ajax({
            url: "/Home/GetTariffs",
            type: "post",
            cache: false,
            success: function (result) {
                $.each(result, function () {
                    $("#tariffs").append($("<button class='btn btn-default tariff'/>").val(this.TariffId).text(this.TarifNameRus));
                    $("div#tariffs.btn-group button.btn.btn-default").first().addClass("active");
                });
            },
            error: function (xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);
            }
        });

最佳答案

将 ajax 代码更改为以下内容:

$.ajax({
        url: "/Home/GetTariffs",
        type: "post",
        cache: false,
        success: function (result) {
            $.each(result.TariffItems, function () { // <---------
                $("#tariffs").append($("<button class='btn btn-default tariff'/>").val(this.TariffId).text(this.TarifNameRus));
                $("div#tariffs.btn-group button.btn.btn-default").first().addClass("active");
            });
        },
        error: function (xhr, status, error) {
            var err = eval("(" + xhr.responseText + ")");
            alert(err.Message);
        }
    });

您正在接收一个对象。您要循环的项目是该对象的一部分。 因此,您必须使用要传递给 jQuery 循环代码的对象项。

在本例中为 result.TariffItems

关于javascript - 我应该如何使用对象中包装的 jQuery JSON 答案进行解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28605619/

相关文章:

c# - 使用 Ajax 在 DIV 中显示列表

javascript - 是否可以修复第三方广告的内存泄漏?

javascript - 将响应式 div 高度设置为等于其同级

ruby-on-rails - 哈希 to_json 和返回不保留哈希作为键?

javascript - 替换 eval 以获取表单 javascript 中的值

jquery - 将 CSS 悬停菜单转换为 jQuery 菜单

jquery - 如何获取jstree中所选节点的完整路径?(根节点到所选节点)

javascript - 使用 jquery 即时更改 fontawesome 图标

javascript - 从 AJAX 函数获取变量值到外部

java - 使用 Google 图表显示没有列的表格