使用$ .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