jstree get_json 复制树数据

发布于 2024-11-26 06:40:58 字数 1019 浏览 1 评论 0原文

所以我有一个看起来像这样的 jstree:

Root
-1
-2
--2.1
---2.1.1
----2.1.1.1 至 2.1.1.24(24 名 2.1.1 以下儿童)
---2.1.2
----2.1.2.1 至 2.1.2.24(24 名 2.1.1 以下儿童)
--2.2
-3

当我生成 json 以便进行字符串化并发送到服务器时(用户后处理它),在将其发送到服务器之前,我可以看到后字符串化 json 重复了一堆数据。例如,2.1.1.1-24 在 2.1.1 下重复两次,而 2.1.1(以及 2.1.1.1-24 的两次重复)稍后在字符串中重复。其他一些元素也是如此。 2.1.2 被重复,但 2.1.2.1-24 下的数据不会被欺骗两次。

正如我在字符串中看到的那样:
...
---2.1.1
----2.1.1.1 至 2.1.1.24(24 名 2.1.1 以下儿童)
----2.1.1.1 到 2.1.1.24(如 2.1.1 下的 24 个子级)
(注意:1-24 个子级两次)

然后上面的整个块稍后在字符串中再次重复。

2.1.2 块同样重复两次。当然,一旦它到达服务器并且我将字符串反序列化为对象,那真是一团糟。有什么想法吗?

var v = jQuery.jstree._reference("#tree").get_json(-1);
var mytext = JSON.stringify(v);
alert(mytext);

我可以在弹出窗口中看到所有重复的数据。它似乎是在更高级别的父级下复制子级。反序列化后,我发现该重复数据的某些实例显示为“根”的子级,即使所述数据是孙子/曾孙。在 root 下,唯一的“子级”应该是 1, 2, & 3. 相反,我有 1、2、2.1、2.1.1(以及 2.1.1.1-24)2.1.2(但奇怪的是不是 2.1.2.1-24)、2.2 和 2.2。 3.

PS - 我已经在最新版本的 IE、Firefox 和 Chrome 中对此进行了测试。

So I have a jstree that looks like this:

Root
-1
-2
--2.1
---2.1.1
----2.1.1.1 through 2.1.1.24 (as in 24 children under 2.1.1)
---2.1.2
----2.1.2.1 through 2.1.2.24 (as in 24 children under 2.1.1)
--2.2
-3

When I generate the json in order to stringify and send to the server (post user mucking around with it), before it gets sent to the server I can see that the post stringify json has duplicated a bunch of data. For instance, 2.1.1.1-24 gets duplicated twice under 2.1.1, and 2.1.1 (along with the double-duplication of 2.1.1.1-24) gets duplicated later in the string. The same goes for some other elements. 2.1.2 gets duplicated, but the data under it 2.1.2.1-24 doesn't get duped twice.

As in this is what I see in the string:
...
---2.1.1
----2.1.1.1 through 2.1.1.24 (as in 24 children under 2.1.1)
----2.1.1.1 through 2.1.1.24 (as in 24 children under 2.1.1)
(NOTE: twice for the 1-24 children)

Then that whole block above gets repeated again later in the string.

The 2.1.2 block likewise gets repeated twice. Of course once it gets to the server and I deserialize the string into objects its a real mess. Any ideas?

var v = jQuery.jstree._reference("#tree").get_json(-1);
var mytext = JSON.stringify(v);
alert(mytext);

I can see in the pop up all the duplicated data. It appears to be duplicating children under the higher level parent. Once I deserialize, I see that some of the instances of that duplicated data appears as a child of "Root" even though said data is grand-child/great grandchild. Under root, the only "children" should be 1, 2, & 3. Instead, I have 1, 2, 2.1, 2.1.1 (along with 2.1.1.1-24) 2.1.2 (but oddly not 2.1.2.1-24), 2.2 & 3.

PS - I've tested this in the latest versions of IE, Firefox, and Chrome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

面犯桃花 2024-12-03 06:40:58

发现了问题。我的树是从数据库自动生成的。我遗漏了用于元素“id”的复合名称的一部分。因为这个“id”在整个文档中并不是唯一的。例如,“Root”和 2.1.1 具有相同的“id”值,这就是各种元素重复的原因。

Discovered the problem. My tree is being auto-generated from a database. I had left out part of the composite name I'm using for the "id" of the elements. Because of this "id" was not unique throughout the document. E.g. "Root" and 2.1.1 had the same "id" value, and that was why various elements got duplicated.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文