使用jQuery的多级JSON
Multi Level JSON with jQuery
我试图创建一些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> subtraction>问题1> 4,3
任何想法?
问题是,您在同一级别的散列中定义了相同的键:
"problem": {
"data_set": [
3,
2
]
},
"problem": {
"data_set": [
5,
1
]
}
它们将相互碰撞并覆盖。把它重新构造成一个数组,你就可以了。
所以正确的JSON是:
var object = {
levelOne: {
// etc.
},
levelTwo: {
// etc.
}
}
使用JSON.parse()
进行解析,然后遍历它,如下所示:
object.level_one.prop.prop1;
object.level_two.otherProp.otherProp2;
JSON被转换为javascript对象,因此您在"加法"上重复关键字"问题"的事实使第二个"问题"覆盖第一个。
你应该重新考虑你的json结构,也许像:
"math_problems" : {
"level_one": {
"addition": {
"problems": [
{
"data_set": [3,2]
},
{
"data_set": [5,1]
}
]
},
"subtraction": ...
}
}
或者,如果问题,问题类型和级别是高度动态的:
"math_problems" : {
"levels": [
{
"name" : "Level one",
"problems": [
{
"type" : "addition",
"data_set": [3,2]
},
{
"type" : "addition",
"data_set": [5,1]
},
{
"type" : "subtraction",
"data_set": [2,1]
}
]
},
{
"name" : "Level two",
"problems": [
...
]
}
]
}
相关文章:
- 使用PHP,我如何将JSON blob附加到现有的多级JSON对象
- jqgrid发布多级json
- angular js多个复选框过滤多级JSON
- Javascript JSON 解析和字符串化用于多级
- JSON多级对象
- 在多级json对象中使用变量作为键
- JavaScript JSON 多级迭代解析
- 生成多级 JSON
- 使用来自 JSON 对象的数组表示法进行多级属性检索
- 如何读取多级 json
- 在javascript中编辑多级json,类似Ruby的翻译可以读取它们(从array/string)
- 从平面json生成(多级)flare.json数据格式
- 处理多级json
- AngularJS:使用多级 JSON 进行过滤和唯一
- 为多级JSON创建一个简单的元数据
- 使用jQuery的多级JSON
- 使用getJSON从多级JSON读取到Google Chart
- 如何解析多级自定义键值JSON
- javascript:解析多级json数组
- 从多级JSON对象中选择性地提取数据