简体   繁体   English

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

[英]How to convert a JsonNode containing a list of string to a comma separated string in Java

JsonNode: JsonNode:

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

I want to extract the list of name from jsonNode as a comma separated string in an efficient way: 我想以有效的方式从jsonNode中提取name列表作为逗号分隔的字符串:

Output: 输出:

nameList ="bishal,jaiswal,Turtle"

Apart from converting the jsonNode of name array to a list & then using the join method to make the comma separated string. 除了将name数组的jsonNode转换为列表然后使用join方法将逗号分隔的字符串。 Any better way to do this ? 有更好的方法吗?

Here is the hack 这是黑客攻击

    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());

Hope so it will help you. 希望所以它会帮助你。

You can use Jackson JSON in this case... 在这种情况下你可以使用Jackson JSON ......

Jackson is a very popular and efficient java based library to serialize or map Java objects to JSON and vice versa Jackson是一个非常流行且高效的基于java的库,用于将Java对象序列化或映射到JSON,反之亦然

For eg 例如

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);
}

Please can you let me know if this has solved your problem? 如果这解决了你的问题,请你告诉我吗? Thanks 谢谢

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何将包含用逗号分隔的数字的字符串转换为 java 中的 Integer? - How to convert a string containing numbers separated by comma to Integer in java? 如何转换清单 <String[]> Java中使用逗号分隔字符串(不带“”) - How to Convert List<String[]> to Comma Separated String without “ ” in Java 如何转换列表<Object>成逗号分隔的字符串 - How to convert List<Object> into comma separated String 如何将逗号分隔的字符串转换为列表? - How to convert comma-separated String to List? 将包含逗号分隔的JSONObjects的字符串转换为JSONArray - Convert String containing comma separated JSONObjects to JSONArray 在 java 中将 String[] 转换为逗号分隔的字符串 - Convert String[] to comma separated string in java Java 8 流:将逗号分隔的字符串转换为抽象枚举列表 - Java 8 stream: convert comma separated string to the list of abstract Enum 将列表对象中的字符串转换为逗号分隔 - Convert string in list objects to comma separated 如何将逗号分隔和双引号的单词字符串转换为 Java 中的字符串列表/数组 - How to convert comma separated and double quoted words string to list/array of strings in Java 在java中将逗号分隔的字符串转换为json - convert a comma separated string to json in java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM