[英]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.