您可以创建一个递归循环函数,但是会遇到一个问题:当属性是对象时,因为没有字符串,所以没有文本可显示。因此,您将得到:
- - value11 - value12- value2- value3
因为while
value2是为项目#2显示的字符串,所以它是为项目#1显示的对象。
无论如何,这就是我组成的:http :
//jsfiddle.net/uXww2/。
// obj is the object to loop, ul is the ul to append lis tofunction loop(obj, ul) { $.each(obj, function(key, val) { if(val && typeof val === "object") { // object, call recursively var ul2 = $("<ul>").appendTo( $("<li>").appendTo(ul) ); loop(val, ul2); } else { $("<li>", { id: key }).text(val).appendTo(ul); } });}$.getJSON('test.json', function(data) { var ul = $("<ul>"); loop(data, ul); ul.addClass("my-new-list").appendTo('body');});


