2014-07-03 102 views
2

我想將JSONObject轉換爲ContentValue。我怎麼能不知道我在JSONObject中有哪些列?將JSONObject轉換爲ContentValues

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 

,但我想知道更好的方式提前

回答

1

感謝你既可以使用optString或與方法has檢查。

例如:

values.put(TASK_KEY_TAG, json.optString("tag")); 

optString,則返回null關鍵是不可用的。或者

if (json.has("tag")) { 
    values.put(TASK_KEY_TAG, json.optString("tag")); 
}