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

时间:2019-04-17 12:00:25

标签: java arrays json string

JsonNode:

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

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

输出:

nameList ="bishal,jaiswal,Turtle"

除了将name数组的jsonNode转换为列表,然后使用join方法制作逗号分隔的字符串。还有更好的方法吗?

2 个答案:

答案 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

    );

请问这是否解决了您的问题?谢谢