【发布时间】:2013-05-12 07:14:35
【问题描述】:
如何在 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();
}
}
【问题讨论】:
-
JSON is a textual representation of data。因此,将其保存在 TEXT 列/类型关联中。将其编码为 BLOB 只会增加工作/痛苦 - 不要那样做!当然,从
JSONObject(它是不是 JSON)中获取实际的JSON。这可以通过jsonObject.toString()来完成。 -
如果 Sqlite 不是强制使用,那么我的建议是编写 File.txt 文件并将整个响应保存在文件中并在需要时读取它
标签: android database json sqlite