如果我们有以下条件
服务器域类
package com.server;
class A {
@Foo
B b;
@Foo
int c;
}
现在在我们做的服务器上..
Gson gson = new Gson();
String json = gson.toJson(storeOfListsOfChangedDomainObjectsOnClient);
并将json发送给客户端....
另外我们把服务端域类,放到客户端,包名相同,注解不同,如下
客户域类
package com.server;
class A {
@Bar
B b;
@Bar
int c;
}
在我们做的客户上......
Gson gson = new Gson();
以下是正确的......
com.server.A response = gson.fromJson(json, A.class);
对象会被等同吗?
因为否则,我们将不得不获取服务器的每个响应类(域类)并将每个变量单独复制到客户端的域类。
此外,@Foo
and@Bar
是服务器端的 Hibernate 注释,以及客户端的 ORMLite 注释(适用于 Android)。