处理动态Web服务

时间:2014-02-13 08:48:18

标签: java android json web-services gson

我想知道是否可以使用WebService根据动态字段动态生成数据,并且应用程序在解析过程中支持它的更改?我不清楚我怎么能使用一个web服务,一个字段可能会在以后添加,所以旧应用程序版本中json的解析器将不再适用,它会抛出异常。处理动态web服务的最佳实践是什么并迁移到Android的新变化?现在我正在使用Gson来解析具有预定义类的json个请求,因此解析器的每个方法都是清楚的,之后我会使用该类。任何有关动态解析的建议,教程或示例都将不胜感激。

1 个答案:

答案 0 :(得分:1)

最好在JSON消息中包含version属性。然后,您可以在解析消息之前检查版本。

我过去曾经处理过应用程序,我们的转换器可以转换为

  • 版本1 - >版本2
  • 版本2 - >版本3
  • 版本3 - >版本4

这样,在您的应用程序中,您始终可以针对最新实体(即版本4)进行编码。如果版本1消息到达,它将通过3个转换器并作为版本4消息进入应用程序。如果版本2消息到达,它只通过两个转换器。

注意,您可能不会为每个版本都要求新的实体类。大多数情况下,您将在不同版本上添加字段。在这种情况下,对于旧版本,字段可以为null,您可以使用简单的空值检查对其进行编码。

您可能会发现需要一组转发器用于入站请求和出站响应。在进入的过程中,您将旧版本转换为最新版本。在出路时,您将最新的响应转换为客户端的请求版本。