jquery - 从 HTML 元素结构创建嵌套的 JSON 对象
问题描述
我正在处理工作流配置屏幕,并在 HTML 级别具有以下结构:
<ul class="wfSteps">
<li>
<ul>
<li><input type="text" value="a"></li>
</ul>
<ul class="sequential">
<li><input type="text" class="stepName" value="seq of a">
</li>
<li>
<ul class="parallel">
<li><input type="text" class="stepName" value="par of a2"></li>
</ul>
</li>
</ul>
<ul class="parallel">
<li><input type="text" class="stepName" value="par of a"></li>
</ul>
</li>
</ul>
现在我想以以下格式导出 JSON 对象:
{ "stepBracket": [
{
"combinationType": "Sequential",
"stepList": [
{
"stepName": "<stepName>",
"stepBracket": {
"combinationType": "parallel",
"stepList": [
{
"stepName": "<stepName>"
}
]
}
},
{
"stepName": "<stepName>"
}
]
},
{
"combinationType": "parallel",
"stepList": [
{
"stepName": "<stepName>"
}
]
}
]
}
我尝试了 Jquery map 方法,但陷入了嵌套级别。任何建议我如何才能获得所需的 Json 对象数据。
function build($query) {
return {
stepBracket: $.map($query.find('ul'), function (item) {
var f = {
stepName: "abc",
sequential: [],
parallel: []
};
return f;
})
};
}
var result = build($(".wfSteps:first"));
解决方案
推荐阅读
- python - 使用其位置/索引转换列的类型
- makefile - GNUMake 隐式规则的麻烦
- react-native - 如何配置 Jest 以使用 Expo SDK 32
- excel - 具有多个条件和多个结果的 Excel 索引匹配 - 返回第一个结果
- python - 标记数据时出错。C 错误:预计第 32 行中有 2 个字段,看到 3
- javascript - 为什么 vue 不显示列表中对象的内容和状态?
- python - python中的递归平方根循环,epsilon为0.0001
- c++ - 按位运算符移位
- cassandra - Cassandra CQL 版本
- flutter - 用FlutterDrive做flutter集成测试怎么做长按