¿JSON en un campo del sqlite?

Estoy escribiendo una aplicación que se comunica con una API web, que responde con JSON. Actualmente, estoy traduciendo los objetos JSON a objetos Java usando gson (que es impresionante, por cierto).

Ahora, quiero almacenar algunos de estos objetos en una base de datos SQLite. Sin embargo, tienen muchas propiedades que nunca se usarían en consultas (por ejemplo, no voy a ORDER ing, WHERE ing, o algo así con esas propiedades), así que siento que es innecesario crear columnas para todos ellos. Lo que estoy pensando hacer es:

  • Sólo tienen columnas para los datos esenciales que se utilizarán al consultar la base de datos
  • Tiene una columna TEXT o BLOB (¿cuál recomendarías?) Que almacena el JSON real, para que pueda recrear mi objeto Java y acceder a todos los datos.

Esto haría mi vida más fácil y racionalizar mi código (no tendría que escribir código muy diferente cuando se trata de datos de la API vs datos de la base de datos).

Sin embargo, aunque no veo inconvenientes, se siente un poco sospechoso.

¿Qué tipo de problemas crees que me encontraría si usara esta técnica?

Lo principal que no me gustaría es confiar en la estructura del JSON almacenado / recuperado para ser válido, ya que está completamente fuera de las manos de la base de datos. No es que usted no puede tomar precauciones contra posibles problemas, pero si el JSON es de alguna manera truncado o comprometido de alguna manera de una manera que dispara el analizador, entonces está perdiendo el objeto entero en lugar de sólo una propiedad inválida o truncada. Si eso es un riesgo aceptable, entonces es probablemente una técnica razonable.

  • No hay tal tabla android_metadata, ¿cuál es el problema?
  • Problema en sqlite con "como" en android
  • ¿Podemos actualizar el APK en Google Play Store sin cambiar la versión de APP
  • Obtener actualizaciones de contar las filas de SQLite en Android mediante una consulta en bruto?
  • Ejemplo de Android SQLite
  • Android - SimpleCursorAdapter.ViewBinder - Establecer el color de fondo
  • Consulta SQLite de Android y uso del cursor para tratar varias filas
  • Exención de SQLite sobre la reanudación de la actividad de Android
  • ¿Cómo acceder a Android a una base de datos sqlite incluida en la carpeta de activos?
  • Cómo almacenar datos en la base de datos sqlite con jQuery-mobile dreamviewer cc con phonegap en android?
  • Tratar con WHERE IN (?) En la consulta de SQLite de SQL
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.