Java 用Jackson解析复杂的JSON对象
我需要用Jackson库解析相对复杂的JSON。你们能告诉我应该有什么Java类结构,以及用什么Jackson方法来解析下面的JSON对象吗 是这样的:Java 用Jackson解析复杂的JSON对象,java,android,json,jackson,arrays,Java,Android,Json,Jackson,Arrays,我需要用Jackson库解析相对复杂的JSON。你们能告诉我应该有什么Java类结构,以及用什么Jackson方法来解析下面的JSON对象吗 是这样的: { "firstField": "Something One", "secondField": "Something Two", "thirdField": [ { "thirdField_one": "Something Four", "thirdField_two": "Something Fiv
{
"firstField": "Something One",
"secondField": "Something Two",
"thirdField": [
{
"thirdField_one": "Something Four",
"thirdField_two": "Something Five"
},
{
"thirdField_one": "Something Six",
"thirdField_two": "Something Seven"
}
],
"fifthField": [
{
"fifthField_one": "Something… ",
"fifthField_two": "Something...",
"fifthField_three": 12345
},
{
"fifthField_one": "Something",
"fifthField_two": "Something",
"fifthField_three": 12345
}
]
}
我更熟悉Gson,但我认为这应该行得通 见下面斯塔克斯曼的注释: Jackson不会自动检测私有字段(可以配置为@jsonautodect或全局)。所以字段应该是私有的,用@JsonProperty注释,或者具有匹配的公共getter
公共类MyClass{
私有字符串firstField,secondField;
私人第三场第三场;
私有第五字段第五字段;
公共静态类第三字段{
私人领域;
}
公共静态类ThirdFieldItem{
私有字符串第三字段1,第三字段2;
}
公共静态类第五字段{
私有列表第五字段;
}
公共静态类第五字段{
私有字符串第五个字段第1个,第五个字段第2个;
私人第五场;
}
}
我更熟悉Gson,但我认为这应该行得通
见下面斯塔克斯曼的注释:
Jackson不会自动检测私有字段(可以配置为@jsonautodect或全局)。所以字段应该是私有的,用@JsonProperty注释,或者具有匹配的公共getter
公共类MyClass{
私有字符串firstField,secondField;
私人第三场第三场;
私有第五字段第五字段;
公共静态类第三字段{
私人领域;
}
公共静态类ThirdFieldItem{
私有字符串第三字段1,第三字段2;
}
公共静态类第五字段{
私有列表第五字段;
}
公共静态类第五字段{
私有字符串第五个字段第1个,第五个字段第2个;
私人第五场;
}
}
正确,但与Gson不同的是,Jackson不会自动检测私有字段(可以通过@jsonautodect
或全局配置)。因此字段应该是私有的,用@JsonProperty
注释,或者具有匹配的公共getter。正确,除了与Gson不同,Jackson不会自动检测私有字段(它可以配置为,使用@jsonautodect
或全局)。所以字段应该是私有的,用@JsonProperty
注释,或者具有匹配的公共getter。您使用jackson获得解决方案了吗?您使用jackson获得解决方案了吗?
public class MyClass {
private String firstField, secondField;
private ThirdField thirdField;
private FifthField fifthField;
public static class ThirdField {
private List<ThirdFieldItem> thirdField;
}
public static class ThirdFieldItem {
private String thirdField_one, thirdField_two;
}
public static class FifthField {
private List<FifthFieldItem> fifthField;
}
public static class FifthField {
private String fifthField_one, fifthField_two;
private int fifthField_three;
}
}