JsonNode:
{
name: ["bishal", "jaiswal", "Turtle"],
title: "jaiswal"
}
我想以有效的方式从jsonNode提取name
的列表作为逗号分隔的字符串:
输出:
nameList ="bishal,jaiswal,Turtle"
除了将name
数组的jsonNode转换为列表,然后使用join方法制作逗号分隔的字符串。还有更好的方法吗?
答案 0 :(得分:2)
这是黑客
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());
希望如此对您有帮助。
答案 1 :(得分:1)
在这种情况下,您可以使用Jackson JSON ...
Jackson是一个非常流行且高效的基于Java的库,用于将Java对象序列化或映射到JSON,反之亦然
例如
@Headers("Accept: application/json")
@DELETE("/users/{x}/data/{y}/{id}")
Call<Response> deleteData(
@Path("x") String x,
@Path("y") String y,
@Path("id") String id
);
请问这是否解决了您的问题?谢谢