jackson JSON 转对象 JSON 名必须要和对象里面一一对应吗?少不可以吗?


jackson JSON 转对象 JSON 名必须要和对象里面一一对应吗?少不可以吗?

比如 JSON


 json


 {
    "id": 5400,
    "idstr": "5400",
    "class": 1,
    "screen_name": "segmentfault",
    "name": "segmentfault",
    "province": "11",
    "city": "1000",
    "location": "北京",
    "description": "",
    "url": ""
}

对象是


 java


 public class UserInfo {

    private long id;
    private String screen_name;

    ...

}

这样就转换不了吗?有什么办法?


想到办法是先转 Map 在设值

json java jackson

toddy 9 years, 8 months ago

Java比较弱爆的一种设计,转Map方案 如果字段很多也不是很方便,暂时没有找到合理的方法 楼主也可以学习fastjson 和 gson 也都很不错的

asdjch answered 9 years, 8 months ago

用 GSON 加 @SerializedName 注解可以自定义 field 名。

小基友吴克 answered 9 years, 8 months ago

// jackson 1.9 and before
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// or jackson 2.0
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

飘飘飘飘飘 answered 9 years, 8 months ago

Your Answer