【问题标题】:Convert postgres text arry to java List?将postgres文本数组转换为java列表?
【发布时间】:2016-06-13 06:36:25
【问题描述】:

我正在接收从 Postgres DB 到我的 ApplicationServer 的 JSON 有效负载:

{
     "allAttributes" : {
     "name" : "some-name",
     "U_labels" : "{label26}"
     }
}

所以我解析这个 json 以使用 jackson json 库将其转换为 java 中的 POJO。

然而,Postgres 中的 U_labels 等一些字段是文本数组,而 java 中的 List<String>。所以"U_labels" : "{label26}"应该是"U_labels" : "[label26]".

在jackson中如何实现这种映射??

【问题讨论】:

    标签: java json postgresql jackson gson


    【解决方案1】:

    不确定,但可能是这样的:

    List<String> stringList = mapper.readValue(jsonString, 
        typeFactory.constructCollectionType(List.class, String.class));
    

    【讨论】:

    • 这将读取整个 json 字符串,但我需要将单个密钥 ("U_labels") 转换为 List&lt;String&gt;
    • 您必须通过使用字符串替换来实现删除大括号。由于 {U_labels} 在 JSON 中不是数组。
    • @Popeye:没有其他解决方案吗?也许使用objectMapper 会有所帮助?像这样会有一些深度嵌套的键,我必须在嵌套级别进行字符串替换。
    猜你喜欢
    • 2016-04-14
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多