jquery - 获取JSTree的JSON数据,及其元数据

标签 jquery json metadata jstree stringification

我们使用 jstree 作为导航菜单编辑器,并将元数据分配给树的节点,如下所示:

var data = currentNode.data("jstree");
data.title = textBoxTitle.val();
data.linkType = textBoxLink.val();

我可以看到 data 对象包含相关属性,但不太确定 jquery 在该点之后将关联数据保存在哪里。

当我们保存数据(将其序列化为我们的服务器端语言)时,元数据似乎被忽略......

var json = jQuery.jstree._reference(tree).get_json();
var jsonString = JSON.stringify(json);

检查 json 对象没有描述元数据的属性。

我们如何序列化对象及其元数据?

提前致谢,

  • 格雷格。

最佳答案

简要阅读文档,在我看来,您似乎应该使用节点上的属性来存储元数据。您可以使用 HTML5“data-”属性:

currentNode.attr('data-title', textBoxTitle.val());
currentNode.attr('data-link-type', textBoxLink.val());

然后当你执行 .get_json() 时从树中你可以告诉它你想要什么属性:

var json = jQuery.jstree._reference(tree).get_json(-1, ['data-title', 'data-link-type', 'id', 'class']);

.get_json函数实际上需要 2 个属性名称列表,其中一个代表 <li>节点和一个 <a>节点(按该顺序)。我不知道你的树是什么样子,所以我不确定你的属性会去哪里。 (另外,前导的“-1”参数告诉它获取整个树,这是您之前通过不传递任何内容来完成的。)

关于jquery - 获取JSTree的JSON数据,及其元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4015297/

相关文章:

jQuery prop 不能作为 if 语句的一部分工作

javascript - 在页面加载时加载放大的弹出窗口

java - 如何以预定义格式表示 JSON 字符串中的键值?

date - 从文件名修改 mp4 视频的创建日期

jquery - 如何在页面滚动时淡入/淡出 div?

javascript - 使用 HighChart 绘制不同事物数据的饼图

node.js - 像这样从解析的 JSON 中提取 JSON 格式的数据?

Java 从嵌套 JSON 中提取内容

.net - 从查询中获取表架构

python - 使用 pyexiftool 编辑/更新照片元数据的数据