传给我的json中有一个字段和我要反序列化这个json的Java对象的字段名不一样。假设我想反序列化:
{"bag": "LV"}
进入
Class MyClass {
String backpack;
}
所以字段backpack
在反序列化后应该有值LV
。
问题是 MyClass
来 self 无法更改或添加注释的库。我也无法控制传递给我的 json。我想知道如何配置 Gson 来做到这一点。所有其他字段都完美匹配。
最佳答案
class CustomStrategy implements FieldNamingStrategy {
@Override
public String translateName(Field field) {
if (field.getName().equals("backpack")) {
return "bag";
}
return field.getName();
}
}
Gson gson = new GsonBuilder().setFieldNamingStrategy(new CustomStrategy()).create();
关于java - Gson 反序列化 :Json Field Name Different from Java Object Field Name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38731050/