使用$ .getJSON从外部.json文件中获取具有以下内容的数据。jQuery比较一个数组的值与另一个数组的值并返回匹配
{
"title_12345":"<span class=\"header-class\">Header</span>",
"p_12345":"<span class=\"description-class\">description</span>",
"p_23456":"Another paragraph",
"p_34567":"Another second paragraph",
"desc": [
"title_12345",
"p_12345",
{
"ul_12345": [
"li_1",
"li_2"
]
},
"p_23456",
{
"ul_12345": [
"li_3",
{
"ul_23456": [
"li_6",
"li_7"
]
},
"li_4",
"li_5"
]
}
],
"li_1":"Listing One",
"li_2":"Listing Two",
"li_3":"Another Listing",
"li_4":"Another Second Listing",
"li_5":"Another Thrid Listing",
"li_6":"Sub One Listing",
"li_7":"Sub Two Listing"
}
我想实现的是如下。 基于带有匹配对键值的“desc”数组创建一个新对象。
"desc": [
"title_12345":"<span class=\"header-class\">Header</span>",
"p_12345":"<span class=\"description-class\">Description</span>",
{
"ul_12345": [
"li_1":"Listing One",
"li_2":"Listing Two"
]
},
"p_23456":"Another paragraph",
{
"ul_23456": [
"li_3":"Another Listing",
{
"ul_23456": [
"li_6":"Sub One Listing",
"li_7":"Sub Two Listing"
]
},
"li_4":"Another Second Listing"
"li_5":"Another Thrid Listing"
]
}
]
而且随着新的 “递减” 的对象,创建HTML内容附加到HTML页面。 注意“desc”的数组=返回数据
如果键包含“title_”,一个<h4>
内打印值(无<span>
)的DOM层次结构。结果:<h4>Header</h4>
如果键包含“p_”,打印值在<p>
(不含<span>
)内。结果:<p>Description</p>
如果键包含“ul_”,则打印<li>
循环内的每个对象。结果:<ul><li>Listing One</li><li>Listing Two</li></ul>
这将是最终的结果要追加页面
<h4>Header</h4>
<p>Description</p>
<ul>
<li>Listing One</li>
<li>Listing Two</li>
</ul>
<p>Another paragraph</p>
<ul>
<li>Another Listing</li>
<ul>
<li>Sub One Listing</li>
<li>Sub Two Listing</li>
</ul>
<li>Another Second Listing</li>
</ul>
任何想法如何实现使用jQuery这样的结果?提前致谢。
_“我要实现的是匹配的是什么 ”用数据对desc“ 的数组值键值如下...“_ - 我想说明,你在这个语句下面显示的是无效的JSON。阵列***不能拥有属性。只有物体可以。为了得到你想要的,你需要将'desc'转换为一个对象,然后将这两个内部对象嵌套到另一个数组中... – War10ck