设计问题 - 将json解码为特定对象类或通用JsonEntity

时间:2012-08-27 07:55:00

标签: android json converter decode

我正在使用通过HTTP接收一些JSON对象的Android应用程序。然后我将收到的数据存储到DB。通过http接收的数据与存储在数据库中的数据不同,因此我有2层 - 传输层,传输对象和带有域对象的DB层。有些转换器可以将信息从TO转换为DO,反之亦然。

我想知道以下哪种方法更好:

  1. 将接收到的数据解码为特定传输对象(使用gson) - FooTO,然后使用FooConvertor转换为FooDO,将商店FooDO转换为DB。

                         gson                   FooConvertor           DAO
    

    http内容(字符串)------> FooTO ---------------> FooDO -------->数据库

  2. 将接收到的数据解码为通用JsonEntity,然后将信息与FooConvertor转换为FooDO,将商店FooDO转换为DB。

                         gson                   FooConvertor           DAO
    

    http内容(字符串)------> JSONEntity --------------> FooDO -------->数据库

  3. 一个重要的方面是我无法控制通过http接收的json对象的结构,它的结构可能随时改变,所以我想尽量减少对我的应用程序的更改影响。

1 个答案:

答案 0 :(得分:0)

您应该使用GSON库使用,因为它更结构化,并且在获取JSON期间创建的类可以重复用于在DB中存储相同的数据