递归部分相当难以理解。
对于一个未知深度的HTML结构,我需要将其转换为JSON。
(我正在构建一些YAML国际化翻译系统)
我的一般想法是一直深入到找到INPUT
,然后创建一个带有span.innerHTML/input.Value
键/值的对象,并返回该对象,因此它将是最后一个达到的<span class="title">
的KEY的VALUE。
JSBIN游乐场 - 实时代码示例
我的递归函数无法输出我想要的JSON...
HTML结构
<ul>
<li>
<span class="title">footer</span>
<ul>
<li>
<span>statement</span>
<input type="text" value="xxx">
</li>
</ul>
</li>
<li>
<span class="title">landing</span>
<ul>
<li>
<span>page_title</span>
<input type="text" value="yyy">
</li>
<li>
<span>page_sub_title</span>
<input type="text" value="xxx">
</li>
<li>
<span class="title">pricing</span>
<ul class="level11">
<li>
<span>title</span>
<input type="text" value="aaa">
</li>
<li>
<span>cost</span>
<input type="text" value="xxx">
</li>
</ul>
</li>
</ul>
</li>
</ul>
期望的JSON输出
{
footer : {
statement : 'xxx'
},
landing : {
page_title : 'yyy',
page_sub_title : 'xxx',
pricing : {
title : 'aaa',
cost : 'xxx'
}
}
}
label
吗?你应该使用它。 - kapa