我想将 JSONObject 转换为 ContentValue。我如何在不知道 JSONObject 中有哪些列的情况下执行此操作?
JSONObject 中的列与设备上 SQLite 数据库中的列相同,并且顺序相同。
我可以这样做
ContentValues values = new ContentValues();
values.put(TASK_NAME, json.getString("name"));
values.put(TASK_KEY_PROJECT, json.getString("project"));
values.put(TASK_KEY_CATEGORY, json.getString("category"));
values.put(TASK_KEY_TAG, json.getString("tag")); //TODO CATCH NO TAG EXCEPTION
但我想知道更好的方法 提前致谢
最佳答案
您可以使用 optString
或使用方法 has
检查。
例如:
values.put(TASK_KEY_TAG, json.optString("tag"));
optString
如果 key 不可用,则返回 null。或者
if (json.has("tag")) {
values.put(TASK_KEY_TAG, json.optString("tag"));
}
关于android - 将 JSONObject 转换为 ContentValues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557099/