我在此上浪费了很多时间。递归部分非常虚幻。
对于未知深度的给定HTML结构,我需要转换为JSON。
(我从正在构建的某些YAML i18n翻译系统中使用此功能)
我的一般想法是深入了解,直到找到INPUT
,然后使用的键/值创建一个对象,然后span.innerHTML/input.value
返回该对象,因此它将是最后<span class="title">
到达的KEY的值。
(是的,开发有点复杂,但非常有趣)
JSBIN游乐场 -实时代码示例
我无法让递归函数正常工作,无法输出所需的JSON …
<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>
{
footer : {
statement : 'xxx'
},
landing : {
page_title : 'yyy',
page_sub_title : 'xxx',
pricing : {
title : 'aaa',
cost : 'xxx'
}
}
}
如果您可以说服自己使用jQuery,请尝试以下操作:
function helper(root) {
var result = {};
$('> ul > li > span', root).each(function () {
result[$(this).text()] = $(this).hasClass('title') ? helper($(this).parent()) : $(this).next('input').val();
});
return result;
}
console.log(helper('body'));
问题内容: 我正在尝试使用该包将Go结构转换为JSON,但我得到的只是。我敢肯定这是完全显而易见的,但我看不到。 然后,当我尝试运行它时,我得到以下信息: 问题答案: 您需要导出的字段,以便在包装可以看到它。将字段重命名为。 输出:
问题内容: 我试图在Go中创建一个通用方法,该方法将填充来自的使用数据。例如,方法签名和用法可能类似于: 我知道可以使用JSON作为中介来完成;还有另一种更有效的方法吗? 问题答案: 最简单的方法是使用https://github.com/mitchellh/mapstructure 如果您想自己做,则可以执行以下操作: http://play.golang.org/p/tN8mxT_V9h
问题内容: 有没有一种方法可以将Swift结构的地址转换为无效的UnsafeMutablePointer? 我尝试了一下但没有成功: 谢谢! 编辑: 我实际上正在尝试 将上下文 移植到Swift中 学习CoreAudio 的第一个示例。 这是我到目前为止所做的: 我正在努力留在Swift中,但是如果事实证明这是一个问题而不是优势,那么我最终将链接到C函数。 编辑:底线 如果您因为试图在Swift中
我试图在Go中创建一个泛型方法,该方法将使用来自< code > map[string]interface { } 的数据填充< code>struct。例如,方法签名和用法可能如下所示: 我知道使用JSON作为中介可以做到这一点;有没有其他更有效的方法?
问题内容: 但是,我仍然无法将csv文件转换为JSON的层次结构。我在stackoverflow上找到的脚本是特定于某个问题的。假设必须对三个变量进行分组: 这将导致这样的JSON文件(据我尝试): 这些必须分组为嵌套结构,例如: 我尝试了该站点上的每个脚本,但是无法创建可以使flare.json这样的通用函数。我可以发布代码,但这就像上面提供的链接一样。因此,我要求一个简单的代码(或可以帮助我的
问题内容: 我创建了一个,并希望将其另存为JSON文件。 …导致: 但是如何将对象转换为类似的东西: 问题答案: 您可以添加一个计算属性以获取JSON表示,并添加静态(类)函数以从 数组创建JSON 数组。 编辑: Swift 4引入了该协议,该协议提供了一种非常方便的方式来编码和解码自定义结构。