- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是重复的,但我还没有找到解决我的问题的方法,尽管我已经检查了许多其他 JSON 递归遍历函数的示例。
我的 json obj 看起来有点像下面这样:
var obj =
{
"description": [
{
"list": [
{
"1": "here is text"
},
{
"2": "other text"
},
{
"3": "arbitrary text"
},
{
"4": [
{
"1": "indented"
},
{
"2": {
"1": "indented to second level"
}
},
{
"3": "first indentation level again"
},
{
"4": {
"1": "second level again"
}
},
{
"5": "and first level, to wrap things up"
}
]
}
]
}
]
};
用类似的东西遍历它:
function recurTrav (jsonObj) {
$.each(jsonObj.description[0], function (key, value) {
$(".testul").append("<li class=" + key + ">" + value + "</li>");
if (typeof(jsonObj[key] == "object")) {
recurTrav(jsonObj[key]);
}
});
}
recurTrav(obj);
没有给我任何东西。 (请注意,这只是为了测试我将如何遍历。我被卡住了,这很尴尬。
我想我只需要朝正确的方向插入......
我实际上想做的是将其创建为无序列表结构。主 ul 内可以有 ul。
<ul>
<li>here is text</li>
<li>other text</li>
<li>arbitrary text</li>
<li>
<ul>
<li>indented</li>
<li>
<ul>
<li>indented to second level</li>
</ul>
</li>
<li>first indentation level again</li>
<li>
<ul>
<li>second level again</li>
</ul>
</li>
<li>and first level, to wrap things up</li>
</ul>
</li>
</ul>
最佳答案
我的处理方式略有不同。首先,我会做 recurTrav()
返回 DOM 树。在最简单的情况下,它只是平坦的 <ul></ul>
。如果遇到嵌套列表,它将内部递归的结果包装在 <li></li>
中.
所以...
function recurTrav(jsonObj) {
var cont = $('<ul/>');
$.each(jsonObj, function (key, value) {
var el = $('<li/>');
if (typeof(jsonObj[key]) == "object") {
el.append(recurTrav(value));
} else {
el.attr('class', key);
el.html(value);
}
cont.append(el);
});
return cont;
}
var dom = recurTrav(jsonObj.description[0].list);
关于javascript - 迭代嵌套的数字键控 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21047352/
假设我有这个 .yml用于 Symfony2 i18n 的文件 month: 01: Jan 02: Feb 03: Mar 04: Apr 05: May 06: Jun
我有两个数组 Array ( [010156] => Array ( [supp_number] => 010156 [totalamoun
按住!在标记为重复或投票否决之前 假设我有一个如下所示的 java 脚本对象,我想按值对这个对象进行排序,是的,我知道数组是为此发明的,并且具有内置的 sort 但出于某种原因我必须去与这个对象:(
我们玩得很开心Redis在 Nodejs 上服务器 - 很棒的组合顺便说一句。这个问题是出于好奇,应该被视为“理论上”。 将值存储在数字键(1、2、3、4...)和压缩键(A9z3、A9z4、A9z5
我是一名优秀的程序员,十分优秀!