Javascript 准备视图中的json对象以传递控制器

Javascript 准备视图中的json对象以传递控制器,javascript,jquery,asp.net-mvc,json,asp.net-mvc-2,Javascript,Jquery,Asp.net Mvc,Json,Asp.net Mvc 2,我有一个具有ulli HTML结构的树 在每个li中都有一个包含树的节点名的范围 我必须在读取树之后创建一个json对象,它应该以这种方式显示 this.orgStructureId = null; this.name = null; this.nodeList = null; this.parent = null; this.list = null; 我不确定它是否是结构,但有一些类似的东西。那么我如何制作这

我有一个具有ulli HTML结构的树

在每个li中都有一个包含树的节点名的范围

我必须在读取树之后创建一个json对象,它应该以这种方式显示

        this.orgStructureId = null; 
        this.name = null;
        this.nodeList = null; 
        this.parent = null;
        this.list = null;
我不确定它是否是结构,但有一些类似的东西。那么我如何制作这个对象呢?制作json对象还需要更多的输入吗

树样本快照

var json = {};
$('li').each(function(){
    json[this.innerHTML] = null;
})
然后,您只需对其进行序列化

即可在服务器上生成树 如果您的树是在服务器端生成的,您还可以将其JSON字符串添加到HTML中,并使用预先准备好的JSON数据,而不是在客户端生成

<ul id="TreeRoot" data="{ name: 'Some name', ... }">
    <li>...</li>
    ...
</ul>
您将获得要发送到服务器的JSON数据。但还有另一个障碍。。。将该数据传递给控制器操作

我建议你读书,那会让你的生活更轻松

树是在客户端上生成的 如果用户在客户端上生成/编辑树,则除了以下选项之外,您没有其他选项:

  • 遍历层次结构数据的DOM元素并生成JSON
  • 在用户创建树的同时生成JSON数据,并在运行中准备好并使用最终结果

我可能会选择第二个,因为您已经在操作数据了。那么,为什么不生成HTML节点并填充变量呢。

我没有尝试过很多事情,因为我无法将json对象的结构转换为json对象,这样我就可以初始化它并使用它了。首先,你能给我发送一个json结构,它应该看起来像我的树吗?我正在添加我树的快照检查快照,然后建议我,因为我的树可以达到4-5级,所以这个函数对我不起作用。我现在提醒我递归和DOM walk/DOM tree是有原因的。你说的有道理,怎么说为了实现这一点,您可以为我提供示例结构吗?一些代码解释了json对象的显示
var data = $.parseJSON($("#TreeRoot").attr("data"));