Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 改装时从同一对象序列化不同字段_Android_Gson_Retrofit - Fatal编程技术网

Android 改装时从同一对象序列化不同字段

Android 改装时从同一对象序列化不同字段,android,gson,retrofit,Android,Gson,Retrofit,我是新来的,我对如何在安卓系统中使用它有些怀疑。我有一个有四个字段(id、password、firstName和lastName)的模型,我想对同一个对象执行两个不同的POST调用,但使用不同的字段。一方面,我想用id和密码创建一个登录调用。另一方面,我想用firstName和lastName创建另一个通话。我将@Expose注释与serialized=true一起使用,但是始终发送这4个字段。是否有根据呼叫发送不同字段的方法?我知道我可以使用类型适配器,但我不知道它是如何工作的。 我使用的是改

我是新来的,我对如何在安卓系统中使用它有些怀疑。我有一个有四个字段(id、password、firstName和lastName)的模型,我想对同一个对象执行两个不同的POST调用,但使用不同的字段。一方面,我想用id和密码创建一个登录调用。另一方面,我想用firstName和lastName创建另一个通话。我将@Expose注释与serialized=true一起使用,但是始终发送这4个字段。是否有根据呼叫发送不同字段的方法?我知道我可以使用类型适配器,但我不知道它是如何工作的。 我使用的是改型后的2.0.0版


提前谢谢

回答我自己的问题:我创建了一个实现JsonSerializer和JsonDeserializer的自定义类,所以我传递了一个包含必须序列化/反序列化的字段的数组。我必须做的最后一件事是在gson builder对象上注册类型适配器(registerTypeAdapter)


这是完美的工作

当您尝试实现您的需求时,您会发现改装满足您的大部分需求。查看在线提供的示例。尝试请修改并检查。