0

我在将以下 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 中,缺少选择标记,以下是我从 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 插件版本:

  1. jQuery-1.11.1
  2. jquery-ui-1.11.0
  3. json2html - 当前版本可供下载。

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

4

1 回答 1

2

正确的变换应该是

{"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 出于某种原因。感谢您了解这个,我会调查一下

于 2014-07-15T16:25:17.383 回答