【发布时间】:2013-05-31 06:55:40
【问题描述】:
这是我的 JSON 数据:
{
"main": [
{
"main_id": "1234",
"main_sub": [
{
"main_info": {
"main_1" : "A",
"main_2" : "B",
"main_3" : "C"
},
"main_4" : "D",
"main_5" : "E",
},
{
"main_6" : "F",
"main_7" : "G",
"main_info": {
"main_1" : "H",
"main_2" : "I",
"main_3" : "J"
},
"main_4" : "D",
"main_5" : "E",
"main_act": [
{
"main_act_1": 12,
"main_act_1_1": "C",
"main_act_1_2": "T"
},
{
"main_act_1": 12,
"main_act_1_1": "D",
"main_act_1_2": "T"
}
],
"main_8" : "R"
},
{
"main_4" : "D",
"main_5" : "E",
"main_10": "P"
}
],
"main_score": 0.1
},
{
"main_id": "1334",
"main_sub": [
{
"main_info": {
"main_1" : "B",
"main_2" : "Q",
"main_3" : "C",
"main_11": "D"
},
"main_4" : "S",
"main_5" : "E",
"main_6" : "G",
"main_7" : "T"
},
{
"main_6" : "F",
"main_7" : "G",
"main_info": {
"main_1" : "A",
"main_2" : "I",
"main_3" : "J"
},
"main_10": "W",
"main_4" : "D",
"main_5" : "E",
"main_act": [
{
"main_act_1": 112,
"main_act_1_1": "C",
"main_act_1_2": "T"
},
{
"main_act_1": 123,
"main_act_1_1": "D",
"main_act_1_2": "T"
}
],
"main_8" : "R"
},
{
"main_4" : "D",
"main_5" : "E",
"main_10": "P"
}
],
"main_score": 0.1
}
],
"main_count": 2
}
即使在 jQuery 中使用 $.each 后,由于嵌套,我也无法读取大部分数据。
还有一种方法可以读取此 json 数据的每一行并将其打印在屏幕上,而无需在我的 jQuery 代码中实际提及“main_1”之类的字段名称?
预期输出:
我只想为 main 的两个实例打印字段名称及其值。
有点像:
main_id - 1234
main_sub -
main_info -
main_1 - A
main_2 - B
等等........(对于 main 的两个实例 - 因此 main_count = 2 在 json 数据的末尾)
【问题讨论】:
-
你不需要
$.each来解析这个json。 -
@mithunsatheesh 好吧,还有其他方法可以让我读取整个数据吗?
-
如果您能告诉我们您期望的输出是什么会更好。随着你的尝试。
-
如果你有一个递归数据结构,你可能需要一个递归算法,或者至少需要一堆上下文。
-
@JanDvorak:很抱歉,我不明白一堆上下文是什么意思?你能举个例子吗?