1. ホーム
  2. android

[解決済み] JSONオブジェクトをSQLiteデータベースに格納する方法

2022-03-16 02:50:13

質問

SQLite データベースに JSON オブジェクトを格納するにはどうすればよいですか? 正しい方法は何ですか?

JSONオブジェクトをバイト配列に変換して、Fileoutputstreamを使用することができれば、BLOB型カラムの1つの場所になります。

もう一つのアイデアは、テキストカラムにStringとして格納することです。

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に変換する。

例えば

DBへの書き込み

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

DBからの読み込み

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