当前位置: 首页 > 面试题库 >

如何在SQLite数据库中存储JSON对象

云伯寅
2023-03-14
问题内容

如何在SQLite数据库中存储JSON对象?正确的方法是什么?

一个地方是Blob类型列。如果我可以将JSON对象转换为字节数组并使用Fileoutputstream

另一个想法是将文本列存储为字符串

import org.json.JSONObject;

JSONObject jsonObject;

public void createJSONObject(Fields fields) {
    jsonObject = new JSONObject();

    try {
        jsonObject.put("storedValue1", fields.storedValue1);
        jsonObject.put("storedValue2", fields.storedValue2);
        jsonObject.put("storedValue3", fields.storedValue3);
        jsonObject.put("storedValue4", fields.storedValue4);
        jsonObject.put("storedValue5", fields.storedValue5);
        jsonObject.put("storedValue6", fields.storedValue6);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

问题答案:

将JSONObject转换为String并另存为TEXT / VARCHAR。 在检索同一列时,将String转换为JSONObject。

例如

写入数据库

String stringToBeInserted = jsonObject.toString();
//and insert this string into DB

从数据库读取

String json = Read_column_value_logic_here
JSONObject jsonObject = new JSONObject(json);


 类似资料:
  • 问题内容: 我是Android编程的新手,我想找到如何将json中的数据存储在android的sqlite中。我没有在互联网上找到任何有用的示例,这就是为什么我在这里问。如果您向我展示一个简单的举个例子,我会很高兴。非常感谢! 问题答案: 创建一个具有JSON模型属性的模型类。 在您的模型中创建一个接受(搜索Android开发人员参考)的构造函数。 在构造函数中,使用方法和读取属性的值。 您也可以

  • 我正在创建一个web应用程序,它有一个用户对象,每个用户对象都有一个需要存储到mySQL数据库表中的对象(食物)的ArrayList。我想将整个ArrayList存储到一列中。将其存储为Json会更好吗?或者我应该为每个用户创建一个表来存储ArrayList的各个项目吗?我唯一的问题是数据会被频繁编辑。 编辑:我有供用户和食物使用的桌子。其想法是,用户将食物表中的食物添加到他们的ArrayList

  • 我怀疑原因可能是在ViewHolder中连接字符串,根据我所读到的(检查底部的引用),这应该使用带有占位符的资源字符串来完成,例如 应替换为 其中包括。 https://developer.android.com/guide/topics/resources/string-resource#formattingandstyling https://developer.android.com/ref

  • 本文向大家介绍详解Android数据存储—使用SQLite数据库,包括了详解Android数据存储—使用SQLite数据库的使用技巧和注意事项,需要的朋友参考一下 SQLite是Android自带的关系型数据库,是一个基于文件的轻量级数据库。Android提供了3种操作数据的方式,SharedPreference(共享首选项)、文件存储以及SQLite数据库。 SQLite数据库文件被保存在/da

  • 本文向大家介绍Android  SQLite数据库彻底掌握数据存储,包括了Android  SQLite数据库彻底掌握数据存储的使用技巧和注意事项,需要的朋友参考一下 SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。 例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。  但有一种情况例

  • 问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好