java jackson json_使用Java和Jackson将Json序列化为通用结构而无...
Jackson數據綁定功能可以使用String鍵和Object值(也可以是地圖或集合)讀取Map中的任何json輸入.您只是告訴映射器,您想將json讀入映射.您可以通過給映射器適當的類型引用來做到這一點:
import java.util.*;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Test
{
public static void main(String[] args)
{
try {
String json = "{ "
+ "\"string-property\": \"string-value\", "
+ "\"int-property\": 1, "
+ "\"bool-property\": true, "
+ "\"collection-property\": [\"a\", \"b\", \"c\"], "
+ "\"map-property\": {\"inner-property\": \"inner-value\"} "
+ "}";
ObjectMapper mapper = new ObjectMapper();
Map map = new HashMap<>();
// convert JSON string to Map
map = mapper.readValue(json, new TypeReference>(){});
System.out.println("input: " + json);
System.out.println("output:");
for (Map.Entry entry : map.entrySet()) {
System.out.println("key: " + entry.getKey());
System.out.println("value type: " + entry.getValue().getClass());
System.out.println("value: " + entry.getValue().toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
輸出:
input: { "string-property": "string-value", "int-property": 1, "bool-property": true, "collection-property": ["a", "b", "c"], "map-property": {"inner-property": "inner-value"} }
output:
key: string-property
value type: class java.lang.String
value: string-value
key: int-property
value type: class java.lang.Integer
value: 1
key: bool-property
value type: class java.lang.Boolean
value: true
key: collection-property
value type: class java.util.ArrayList
value: [a, b, c]
key: map-property
value type: class java.util.LinkedHashMap
value: {inner-property=inner-value}
總結
以上是生活随笔為你收集整理的java jackson json_使用Java和Jackson将Json序列化为通用结构而无...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql按特定的顺序_如何在MySQL
- 下一篇: java中的表达式是指_Java 表达式