javascript - 使用 jQuery 进行多级 JSON

标签 javascript jquery html json parsing

我正在尝试创建一些深度的 json,但我在 2 个地方遇到了麻烦。首先,是确保格式正确。我还想向数据集添加“level_two”。

第二个是解析数据。任何帮助将不胜感激。

谢谢!

JSON:
{
    "math_problems": [
        {
            "level_one": {
                "addition": {
                   "problem": {
                        "data_set": [
                            3,
                            2
                        ]
                    },
                    "problem": {
                        "data_set": [
                            5,
                            1
                        ]
                    }
                },
                "subtraction": {
                    "problem": {
                        "data_set": [
                            4,
                            2
                        ]
                    }
                },
                "division": {
                    "problem": {
                        "data_set": [
                            3,
                            2
                        ]
                    }
                },
                "multiplication": {
                    "problem": {
                        "data_set": [
                            3,
                            2
                        ]
                    }
                }
            }
        }
    ]
}


jQuery:

$.getJSON('/data/math.json', function(data) {

        var the_data = [];

        $.each(data,function(index,item) {
            i = index;
            number_one = item[0]['level_one']['addition']['problem']['data_set'][0];
            number_two = item[0]['level_one']['addition']['problem']['data_set'][1];

            the_data += number_one + " + " + number_two;
        });

        $('<ul/>', {
            'class': 'my-new-list',
            html: the_data + " = " + (number_one + number_two)
        }).appendTo('body');
    });

我希望能够解析数据以提取:

level_one > 加法 > 问题 1 > 3, 2

level_two > 减法 > 问题 1 > 4, 3

有什么想法吗?

最佳答案

问题是,您在同一级别的哈希中定义了相同的 key :

"problem": {
    "data_set": [
        3,
        2
    ]
},
"problem": {
    "data_set": [
        5,
        1
    ]
}

它们会相互冲突并覆盖。将其重组为数组,应该就可以了。

关于javascript - 使用 jQuery 进行多级 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919521/

相关文章:

javascript - 使用 JavaScript 创建自定义欢迎词

jquery - 如何在使用 jQuery ajax 方法提交表单之前显示确认对话框?

jquery - 使用 svg 内的链接平滑滚动或缩放文本,我应该尝试什么?

php变量实际值未插入表中

javascript - 根据输入值增量更改按钮颜色

javascript - 树状结构,显示结构中单击元素的文本

c# - 如何从 MVC3 中的 _Layout.CSHTML 页面调用和传递 c# 帮助程序代码?

javascript - 当我使用 $stateParams 时 map 返回 -1

jquery - 选择 DIV 但不选择其中的链接,jQuery 问题

php - 我如何获得运行 Php 脚本的链接?