问题描述
因此,我正尝试对数据库进行重新整理,以减少将来的工作量。我从JSON读取到Room,然后选择并选择要存储的键和值,但是我想让它遍历每个JSON项并记录每个键和每个值的列表。每个JSON项/对象最多可以具有100个键,并且随时可能更改。 (如下所示的JSON示例)
"first5Weights": [10,9.7,8.9,8.8,8.0],"numberToys": 3,"height": 15.3,"weight": 15.2,"parent": "ROXY","names": ["LALA","LILLY"],
我完成了将所有数据读取到列表的代码:
List<String> keys
List<List<String>> values
我决定列出这些值的列表,因此无论有多少个值都无所谓。
我没有计划,但是很快就意识到自己无法找到一种从数据库/ DAO中查询List 的方法。
实体:
@ColumnInfo(name = "valuesList")
@TypeConverters({Converters.class})
private List<List<String>> valuesList;
Dao条目:
@Query("SELECT valuesList FROM data where id = :id")
LiveData<List<List<String>>> loadValuesById(int id);
转换器:
@TypeConverter
public static List<List<String>> listListFromString(String value) {
return value == null
? null
: (new Gson().fromJson(value,new Typetoken<List<List<String>>>() {}.getType()));
}
@TypeConverter
public static String stringFromListList(List<List<String>> value) {
return value == null ? null : new Gson().toJson(value);
}
这根本不可能吗?还是有人能想到一种方法吗? (我的键列表就是列表)
我可以从我的List 的DAO中检索一个列表,但是尝试“取消拼合”该列表很困难。
任何帮助都会很棒。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)