【问题标题】:Jstree JSON as Variable JavaJstree JSON 作为变量 Java
【发布时间】:2015-03-11 07:03:57
【问题描述】:

我有一个字符串形式的 JSON 数据,我在我的 servlet 中设置为一个属性。

    request.setAttribute("json", json);

我需要把它从 jstl 标签放到一个 jstree 中。我知道我不能将 jstl 直接放入 javascript,所以我做了以下操作:

        <p id = "jsonPData">${json}</p>

在我的 javascript 中,我有以下内容:

$(function () {
$("#jsonPData").hide();
var json = $("#jsonPData").text();

  $('#tree').jstree({ 'core' : {
        'data' : [
                  json
          ]
    } });

 });

当我不隐藏p元素时,数据很好,如果我将它复制并粘贴到jstree上的数据部分,它也可以正常工作。但是,当我将变量放入 jstree 数据中时,它会将其全部放入 jstree 上的一个节点中。查看网页浏览器生成的代码后,似乎它在 json 变量中的所有数据周围添加了引号,这将导致它只有一个节点。

关于我应该如何做到这一点的任何建议?还是另一种方式? 谢谢!

【问题讨论】:

  • var json = $.parseJSON(($("#jsonPData").text());
  • 不,那也行不通。不过谢谢
  • 控制台会报错吗?
  • ${json}

    这是在 html 中显示 json 内容吗?
  • 谢谢大家,但我得到了答案,不,控制台从未抛出错误。

标签: java jquery json jstree


【解决方案1】:

这就是最终的工作。我不得不删除“数据”区域中的括号,并添加 eval(json) 而不仅仅是 json。

$(function () {
    $('#jsonPData').hide();
    var json = $("#jsonPData").text();
      $('#tree').jstree({ 'core' : {
            'data' : eval(json)             
        } });     

  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多