我試過這與XML,但從Firefox到IE瀏覽器的行爲是奇怪的。 我以前沒有使用JSON,所以任何幫助將不勝感激。如何解析JSON到嵌套的HTML列表構造
這裏是我的JSON:
{
"storeList":{
"state":[
{
"stateName":"Maine",
"store":[
{
"storeName":"Store 1",
"storeID":"store1",
"storeURL":"http:\/\/www.sitename.com"
},
{
"storeName":"Store 2",
"storeID":"store2",
"storeURL":"http:\/\/www.sitename.com"
},
{
"storeName":"Store 3",
"storeID":"store3",
"storeURL":"http:\/\/www.sitename.com"
}
]
},
{
"stateName":"Connecticut",
"store":[
{
"storeName":"Store 1",
"storeID":"store1",
"storeURL":"http:\/\/www.sitename.com"
}
]
}
]
}
}
我要去的結構 -
<div id="storeList">
<ul>
<li>
<h3>State Name 1</h3>
<a href="storeurl" id="storeid">storename</a>
<a href="storeurl" id="storeid">storename</a>
</li>
<li>
<h3>State Name 2</h3>
<a href="storeurl" id="storeid">storename</a>
</li>
</ul>
</div>
更新
嘗試下面的解決方案,裝載從該JSON外部文件,但我得到一個錯誤,該對象未定義:
$(document).ready(function() {
var object;
$.getJSON('xml/storeList.json', function(json) {
object = json;
});
$('#storeList').append('<ul/>')
$.each(object.storeList.state, function() {
var list = $('#storeList ul'),
listItem = $('<li/>'),
html = listItem.append($('<h3/>').text(this.stateName));
$.each(this.store, function() {
listItem.append($('<a />').attr('href', this.storeURL).text(this.storeName));
});
list.append(html)
});
});
對JSON沒有任何要求。如果您知道如何處理Javascript數據結構,則可以使用JSON。鑑於'var x = blah等等等等''在某些javascript中,JSON是'等等等等等等。 –