Java 如何使用Jackson将JSON分解为最简单的形式
我有一个json,我正在使用Jackson打破Java对象形式。我想知道如何使用Jackson将json分解成最简单的形式 这是我用过的Java 如何使用Jackson将JSON分解为最简单的形式,java,json,jackson,jackson2,jackson-databind,Java,Json,Jackson,Jackson2,Jackson Databind,我有一个json,我正在使用Jackson打破Java对象形式。我想知道如何使用Jackson将json分解成最简单的形式 这是我用过的 { "first":"element", "second":"Integral", "isThird":false, "fourth":{ "ONE":[ { "100":"Cars" }, { "200
{
"first":"element",
"second":"Integral",
"isThird":false,
"fourth":{
"ONE":[
{
"100":"Cars"
},
{
"200":"Truck"
}
],
"TWO":[
{
"6":"Vintage"
},
{
"4":"Sports"
}
]
}
}
首先,您必须准备一个与JSON匹配的类结构。如果完成了,在代码中实例化ObjectMapper并从中获取对象
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.0</version>
</dependency>
使用gsonapi
ObjectMapper mapper = new ObjectMapper();
YourType unmarshalledJson = mapper.readValue(jsonString,YourType.class);
你所说的最简单的形式是什么意思?当我说最简单的形式时,它的意思是,是否有任何内置的api或方法可以减少我的编码行数。google Jackson POJOI没有匹配的类。那还有别的办法吗?不,我知道。。。需要一个有效的类结构,而Jackson不知道如何使用它deserialize@Tatkal也许Gson方法更适合您
JsonParser parser=new JsonParser();
JsonObject jsonObj=(JsonObject) parser.parse("Your Json String");
String first=jsonObj.get("first"); // first and second are String in json
String second=jsonObj.get("second");
JsonObject fourth=jsonObj.getAsJsonObject("fourth"); // because fourth is Object in json
// And so on......