如何在 Java 中将包含字符串列表的 JsonNode 转换为逗号分隔的字符串



JsonNode:

{
  name: ["bishal", "jaiswal", "Turtle"],
  title: "jaiswal"
}

我想以有效的方式从 jsonNode 中提取name列表作为逗号分隔的字符串:

输出:

nameList ="bishal,jaiswal,Turtle"

除了将name数组的jsonNode转换为列表,然后使用join方法制作逗号分隔的字符串。有什么更好的方法可以做到这一点吗?

这是黑客

    ObjectMapper objectMapper = new ObjectMapper();
    final JsonNode jsonNode = objectMapper.readTree("{"name":["bishal","jaiswal","Turtle"],"title":"jaiswal"}");
    final JsonNode name = jsonNode.get("name");
    final Iterator<JsonNode> iterator = name.iterator();
    StringBuilder s = new StringBuilder();
    while (iterator.hasNext()){
        final JsonNode next = iterator.next();
        if(s.length() > 0){
            s.append(",");
        }
        s.append(next);
    }
    System.out.println(s.toString());

希望它能帮助你。

在这种情况下,您可以使用杰克逊JSON...

Jackson是一个非常流行和高效的基于Java的库,用于序列化或将Java对象映射到JSON,反之亦然

例如

ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(jsonData); //jsonData is your json string here...
JsonNode names = rootNode.path("name");
Iterator<JsonNode> elements = names.elements();
while(elements.hasNext()){
    JsonNode name = elements.next();
    System.out.println("Names are = "+name);
}

请您告诉我这是否解决了您的问题吗?谢谢

最新更新