【问题标题】:get JSON from hierarchical object in JCR API从 JCR API 中的分层对象获取 JSON
【发布时间】:2022-11-10 00:13:35
【问题描述】:

我了解 JCR API 如何工作并在 Magnolia 中使用。我想将结果作为 JSON 对象 我的节点对象具有层次结构(每个子节点的类型为 mgnl:category)

test_1
  test_a
  test_b
  test_c
     test_c1    
  test_d

如果我使用

  var session = context.getJCRSession("category");
  Iterable<Node> categoryItems = NodeUtil.collectAllChildren(
      session.getNode(nodePath),
      new NodeTypePredicate("mgnl:category")); 
  List<String> result = new ArrayList<>();
  for (Node node : categoryItems) {
    result.add(node.getName());
  }

我只得到一个孩子的列表,例如:[test_a,test_b,test_c,text_c1,test_d]。 如何检查孩子是否有子节点?因为我需要[test_a, test_b, test_c: {text_c1}, test_d]. 我认为递归会在这里......但我需要有关节点是否有子节点的信息......

【问题讨论】:

    标签: java jcr magnolia


    【解决方案1】:

    您可以通过 hasNodes() 方法检查节点是否有子节点。您可以在此处参考更多 JCR 节点 API https://developer.adobe.com/experience-manager/reference-materials/spec/jsr170/javadocs/jcr-2.0/javax/jcr/Node.html 谢谢

    【讨论】:

      猜你喜欢
      • 2017-09-11
      • 2021-02-14
      • 1970-01-01
      • 2022-01-24
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2018-06-01
      相关资源
      最近更新 更多