使用FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES时无法反序列化字段

时间:2016-05-24 08:45:37

标签: gson

我正在使用gson进行反序列化。我有一个名为“listName”的字段,它有@Expose注释。

当我在GsonBuilder中设置FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES并使用此GsonBuilder创建Gson对象时,该字段未进行反序列化。

当我不使用FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES时,该字段将被序列化。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

当您使用FieldNamingPolicy时,json字段名称应为“list_name”,并且您的pojo对象将具有字段listName。

JSON:

{
    "list_name": ""
}

POJO CLASS:

class POJO 
{
    String listName;
}

如果您不使用FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES并且该字段正在反序列化[原文如此] ...那么我的猜测是您的json字段名称也是“listName”。