2014-02-13 148 views
0

我想知道是否有可能使用WebService基于动态字段动态生成数据,并且应用程序在解析期间支持它的更改?我不清楚如何使用一个webservice,一个字段可能会在稍后添加,所以旧版应用程序版本中json的解析器将不再适用,并且会抛出异常。什么是处理动态web服务的最佳实践并迁移到Android的新变化?现在我使用Gson来解析带有预定义类的json请求,因此所有东西都将对解析器清晰,之后我将使用该类。任何意见,教程或动态解析样本将不胜感激。处理动态Web服务

回答

1

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

我曾在那里我们有可能从

  • 版转换器在过去的应用程序工作1 - >第2版
  • 2版 - >版本3
  • 版本3 - > 4版

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

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

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