问题概述
假设我有一批糖果。货物有多个盒子,每个盒子都有许多独特的糖果类型。每个盒子都有一个唯一的 id,与其他盒子不同;糖果类型也是如此。此外,糖果还具有其他特征,例如颜色、风味和数量。
示例代码
以以下 HTML 示例为例:
<div class="shipment">
<div class="box" data-boxid="a">
<div class="candy" data-candyid="1" data-color="orange" data-flavor="orange" data-qty="7">
<!-- unimportant content -->
</div>
<div class="candy" data-candyid="2" data-color="red" data-flavor="strawberry" data-qty="4">
<!-- unimportant content -->
</div>
</div>
<div class="box" data-boxid="b">
<div class="candy" data-candyid="3" data-color="green" data-flavor="lime">
<!-- unimportant content -->
</div>
</div>
</div>
以前的尝试
我已经看到了使用 jQuery.map()
函数进行表解析的类似示例,并且我也看到了提到.each()
,但我无法生成任何工作代码。
期望的输出
我想(使用 jQuery)生成类似于以下内容的 JSON 对象:
{
"shipment": {
"a": {
"1": {
"color": "orange",
"flavor": "orange",
"qty": "7"
},
"2": {
"color": "red",
"flavor": "strawberry",
"qty": "4"
}
},
"b": {
"3": {
"color": "green",
"flavor": "lime"
}
}
}
}
补充笔记
我的应用程序已经广泛使用了 jQuery,因此它似乎是适合这项工作的合乎逻辑的工具。 但是,如果纯 'ol JavaScript 是更合适的选择,请随意说。
HTML 总是格式正确的,并且总是遵循指定的格式。但是,在某些情况下,信息可能不完整。 请注意,第三个糖果没有指定数量,因此在构建对象时会简单地忽略数量。