gpt4 book ai didi

java - AEM:从java中的节点读取一个值,该值是多字段的值

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:44 24 4
gpt4 key购买 nike

我正在读取java中的一组节点。每个节点属于一个国家。每个节点都有“国家”属性,对于美国等一些国家也有“州”属性节点。这个“状态”是多字段的一部分,因此每个项目都有一个状态,这些状态都在一个节点中,如下所示:

country = "US"
, states = [{"statename":"District of Columbia"}, {"statename":"Rhode Island"},{"statename":"South Dakota"}]

我想通过像这样的 servlet 调用将它们作为 json 填充在页面中:

http://localhost:4502/bin/utilservlet.json

{
country: "India"
{
statename:"Delhi",
statename:"Punjab",
statename:"Haryana"
}
}

{
country: "Turkey"
}

以下是我的代码:

while (nodeItr.hasNext()) {
Node cNode = nodeItr.nextNode();
if (cNode.hasProperty("country")) {
JSONObject jsonData = new JSONObject();
jsonData.put("country", childNode.getProperty("countryname").getValue().getString());
jsonArray.put(jsonData);
if (cNode.hasProperty("states")) {
// This should display array of all states as an when it is encountered.
LOG.info(childNode.getProperty("states").getValue().getString());

发生以下情况:1.我得到了除第一个国家属性(property)退出的国家之外的所有国家/地区列表。2. 没有显示有statelist的其他国家。

我做错了什么?

最佳答案

尝试以下操作:

if (cNode.hasProperty("states")) {
Property statesProperty = cNode.getProperty("states");
if (statesProperty.isMultiple()) {
Value[] statesValues = states.getValues();
for (Value stateValue : stateValues) {
LOG.info(stateValue.getString());
}
}
}

关于java - AEM:从java中的节点读取一个值,该值是多字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com