使用json同步两个对象?

时间:2011-10-09 21:24:21

标签: json client-server gson

我有一个小编写的应用程序,它通过可以通过网络发送json的python服务器与另一个应用程序通信。

我真正想做的是能够通过json让对象“同步”。现在我已经查看过gson库了,将对象序列化为json似乎很棒。但是,如果我只是想让两个对象相互更新,那么它似乎并没有(或者我可能无法弄明白),非常有用。

例如:

Gson非常擅长

Gson g = new Gson();
Object o = new Object();
String serialization = g.toJson(o, o.class);

但是,假设我在两个不同的客户端上有对象o。如果在客户1,他们打电话 o.doSomeMethod(值);

我希望更改为客户端2计算机上的对象o更新。现在我可以做一点好看,只需用新的序列化版本替换对象,但这似乎不是更新两个对象的非常有效的方法。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我是你,那么我在o.doSomeMethod中所做的就是向网络发出呼叫,告知client2有关此更改的信息。在client2方面,有一个方法可以监听潜在的更新。当更新进入时,它会对客户端2上的对象进行更改。您需要做的是实现某种协议来发送此同步更新。例如,假设您有一个名为att1的属性,而client1对对象o上的该属性进行了更改。我们还说对象o有某种唯一标识符(id)。当你调用doSomeMethod时,它会在netwoks上发出一条消息,说“这个对象改变了att1的值,这是新的值。”。这有意义吗?