【问题标题】:How to turn a list of json Strings into one JsonNode/Object in javajava - 如何在java中将json字符串列表转换为一个JsonNode/Object
【发布时间】:2021-12-08 17:00:31
【问题描述】:

我有一些数据放入 List 中,我正在尝试使用 Jackson 的 ObjectMapper 类将它们映射到单个字符串,以便我可以将它们转换为 JsonNode 以返回。问题是我不想为映射器手动硬编码逗号来区分每个元素。

从数据库返回的列表如下所示:

0: {"someKey": "someVal"}
1: {"someKey2": "someVal2"}
2: {"someKey3": "someVal3"}
List<String> responseList = dao.getDetails(something, something2);

for(String row : responseList){
 responseString += row;
}

jsonNode = mapper.readTree(responseString);

生成的 jsonNode 将是:

{"someKey": "someVal"}

objectmapper 忽略其他两个值,因为字符串没有任何逗号来区分它们。如何在无需手动插入逗号和括号的情况下获得字符串列表的单个 JsonNode 响应?谢谢!!

【问题讨论】:

    标签: java json api jackson


    【解决方案1】:

    您可以单独解析每一行并将其手动添加到ArrayNode,而不是将所有内容加入字符串,如下所示:

    List<String> responseList = Arrays.asList(
            "{\"someKey\": \"someVal\"}",
            "{\"someKey2\": \"someVal2\"}",
            "{\"someKey3\": \"someVal3\"}");
    
    ObjectMapper mapper = new ObjectMapper();
    ArrayNode arr = mapper.createArrayNode();
    for (String row : responseList) {
        arr.add(mapper.readTree(row));
    }
    System.out.println(arr);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 2021-07-28
      • 2023-04-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多