我有一个具有ul li HTML结构的树。
在每个li中都有一个包含树的节点名称的span。
我必须在阅读树之后制作一个json对象,它应该看起来像这样的东西
this.orgStructureId = null;
this.name = null;
this.nodeList = null;
this.parent = null;
this.list = null;
我不确定它是结构还是有些类似的东西。如何制作这个对象你需要更多的输入来制作json对象。
答案 0 :(得分:0)
var json = {};
$('li').each(function(){
json[this.innerHTML] = null;
})
然后你只需要序列化它
答案 1 :(得分:0)
如果您的树是在服务器端生成的,您也可以将其JSON字符串添加到HTML并使用预先准备好的JSON数据,而不是在客户端生成...
<ul id="TreeRoot" data="{ name: 'Some name', ... }">
<li>...</li>
...
</ul>
然后致电
var data = $.parseJSON($("#TreeRoot").attr("data"));
并且您将获取要发送到服务器的JSON数据。但是会有另一个障碍......将数据传递给控制器行动。
我建议你阅读this blog post about sending JSON data,这会让你的生活更轻松......
如果用户在客户端上生成/编辑了您的树,则除了以下任一选项之外没有其他选项:
我可能会选择第二个,因为无论如何你都会操纵数据。那么为什么不生成HTML节点并填充变量呢。