【发布时间】:2016-08-22 12:41:27
【问题描述】:
我想在树视图结构中迭代 JSON 数据。对于第一级,我只能迭代 json 值,而对于第二级,第三级无法迭代父数组中下一级数据的数据。
在 JSON 中声明我的键/值对的方式也可能是一个问题,因为我使用的是相同的 'title' 关键字。
JSON
{
"category":[
{
"title":"Customer Satisfaction", // first levl
"items":[
{
"title":"Bulletins", // second level
"id":"nnanet:category/customer-satisfaction/bulletins"
},
{
"title":"Consumer Affairs", // second level
"id":"nnanet:category/customer-satisfaction/consumer-affairs"
},
{
"title":"Loyalty",
"id":"nnanet:category/customer-satisfaction/loyalty"
},
{
"title":"Reference Guide",
"id":"nnanet:category/customer-satisfaction/reference-guide"
},
{
"title":"TOI",
"id":"nnanet:category/customer-satisfaction/toi"
}
]
},
{
"title":"Accessories",
"id":"nnanet:category/accessories"
},
{
"title":"Certified Pre-Owned",
"id":"nnanet:category/certified-pre-owned"
}
]
}
HTML
<div id="all-id">
<ul class="tree"></ul> // appending html code and json code inside this //
</div>
JavaScript
$.ajax({
url: '../js/internal/json/documentListing.json',
datatype: 'json',
type: 'get',
cache: 'false',
success: function(data) {
$.each(data.category, function(index, value) {
console.log("Title :" + value.title + "," + "ID :" + value.id);
var treeViewdata = "<li> <a href='#'>" + items.title + "</a> <ul> <li> <a href='#'>" +
value.title + "</a> </ul> </li> </li>";
$(treeViewdata).appendTo(".tree");
});
}
});
value.title 是显示的第一级数据,items.title 是要迭代的第二级数据。在这里我只是遇到问题并且条件失败。
【问题讨论】:
-
这是因为类别数组包含一个标题为“客户满意度”的项目,而该项目包含一个名为项目的集合。所以这些标题中的大部分都嵌套在第一项下
-
如果我使用单独的关键字它会工作你说的
-
我想问题是:所有标题(从公告开始)应该是客户满意度标题的子级,还是应该都是一个集合?注意到问题已重新格式化,现在更有意义
-
这可能会有所帮助:link
-
未尝试但尚未解决
标签: javascript jquery json jquery-ui