Java 安卓改型&x2B;GSON-API调用的枚举序列化-添加了恼人的额外引号
这个问题(这可能是出于设计,谁知道呢——无论如何,要找到一个明确的答案并不容易)发生在Android改型1.9和2.0以及最新的GSON库中 我有这样一个枚举类:Java 安卓改型&x2B;GSON-API调用的枚举序列化-添加了恼人的额外引号,java,android,gson,retrofit,okhttp,Java,Android,Gson,Retrofit,Okhttp,这个问题(这可能是出于设计,谁知道呢——无论如何,要找到一个明确的答案并不容易)发生在Android改型1.9和2.0以及最新的GSON库中 我有这样一个枚举类: public enum SomethingType { @SerializedName("first") First, @SerializedName("second") Second } 使用改进(2.0,但与1.9相同的问题)和GSON,我尝试输出enum实例,如下所示: @Multipart @
public enum SomethingType
{
@SerializedName("first")
First,
@SerializedName("second")
Second
}
使用改进(2.0,但与1.9相同的问题)和GSON,我尝试输出enum实例,如下所示:
@Multipart
@POST("things")
Call<ThingResponse> createThing(
@Part("image") RequestBody image,
@Part("lat") double lat,
@Part("lng") double lng,
@Part("type") SomethingType type);
jsonRepresentation
类似于“first”
(里面有额外的引号)。当然,我可以在这里脱掉它们。但Gson不了解序列化名称的哪一部分(
编辑2:
看起来,改型2.0后的@Multipart
现在有一个更普遍的问题:所有字符串参数都添加了额外的引号
在过去24小时内,又出现了另一个这样的问题:
检查@keno-你指的不是很明显。这里有一个关于为什么在Gson序列化过程中
@SerializedName
包含额外引号的具体解释吗?具体是代码。@keno还注意到这是关于序列化的;我实际上从服务器反序列化没有问题。通过我的意思是像API中的{“type”:“first”}
这样的东西实际上工作得很好,并且被反序列化为SomethingType.first
。
Gson gson = new Gson();
String jsonRepresentation = gson.toJson(src);
return new JsonPrimitive(jsonRepresentation);