我在将以下html代码转换为json时遇到问题:

<div class="control" >
    <label>Caption</label><br>
    <select name="" class="dropdowntag">
        <option value="Option1">Option1</option>
        <option value="Option2">Option2</option>
    </select>
</div>


在此结果JSON中,缺少select标签,以下是我从json2html站点中提供的转换构建器获得的结果。

{"tag":"div","class":"control","children":[
  {"tag":"label","html":"Caption"},
  {"tag":"br","html":""}, [
     {"tag":"option","value":"Option1","html":"Option1"},
     {"tag":"option","value":"Option2","html":"Option2"}
  ]
]}


如果删除外部div,则可以正确获取json。以下是修改后的html及其json结果:

<label>Caption</label><br>
<select name="" class="dropdowntag">
    <option value="Option1">Option1</option>
    <option value="Option2">Option2</option>
</select>

[
   {"tag":"label","html":"Caption"},
   {"tag":"br","html":""},
   {"tag":"select","class":"dropdowntag","name":"","children":[
      {"tag":"option","value":"Option1","html":"Option1"},
      {"tag":"option","value":"Option2","html":"Option2"}
   ]}
]


无法找出造成此问题的原因。

注意:如果我将select标记更改为其他有效的html标记,或者仅给出除select之外的任何其他名称,它就可以正常工作。

以下是用于此目的的jquery和json2html插件的版本:


jQuery的1.11.1
jquery-ui-1.11.0
json2html-当前版本可以下载。


以下是json2html插件站点的链接:
json2html
此页面中的构建器选项卡提供了基于html构建转换器的选项。

最佳答案

正确的转换应该是

{"tag":"div","class":"control","children":[
  {"tag":"label","html":"Caption"},
  {"tag":"br","html":""},
  {"tag":"select","class":"dropdowntag","name":"","children":[
    {"tag":"option","value":"Option1","html":"Option1"},
    {"tag":"option","value":"Option2","html":"Option2"}
  ]}
]}


我已经验证了它在json2html.com上不起作用,看起来由于某种原因,用于转换转换的DOM方法似乎不喜欢select。感谢您对此进行研究,我将对其进行调查

关于jquery - JSON2HTML-在JSON对象中剥离的选择标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24739115/

10-10 10:45