从数据库中检索值并将其序列化为json

时间:2018-04-23 22:44:36

标签: java jackson jackson2

请求json看起来像这样:

{
    "key1": "value1",
    "generic": {
        "key1":"string-type-value1"
        "key2":"string-type-value2"
        "key3":"complex-type-value3"
        .
        ..
        ...
        "keyn": "simple/complex-valuen"
    }
}

" 通用"的价值上面的属性是一个复杂的json。

我能够将整个复杂的json保存在数据库列中(通过将json反序列化为字节数组,然后将数据库中的值作为blob类型列保存)。 但是,当我尝试从数据库中再次检索数据时,它会给我一个JSON字符串而不是复杂的json

如何使用Jackson库从数据库重新创建完全复杂的json?

我不需要json的字符串表示,但我需要原来的json。

1 个答案:

答案 0 :(得分:0)

JsonNode实例会好吗?

final String json = "" +
        "{" +
        "    \"key1\": \"value1\"," +
        "    \"generic\": {" +
        "        \"key1\":\"string-type-value1\"," +
        "        \"key2\":\"string-type-value2\"," +
        "        \"key3\":\"complex-type-value3\"," +
        "        \"keyn\": \"simple/complex-valuen\"" +
        "    }" +
        "}";

final JsonNode node = mapper.readValue(json, JsonNode.class);
System.out.println(node.get("generic").get("key1")); // "string-type-value1"