【发布时间】:2014-07-06 04:38:51
【问题描述】:
我想将数据附加到现有的 JSON 对象中,并将数据作为字符串保存到具有以下结构的共享首选项中。
"results":[
{
"lat":"value",
"lon":"value"
},
{
"lat":"value",
"lon":"value"
}
]
我怎样才能做到正确?
我尝试过这样的事情,但没有运气。
// get stored JSON object with saved positions
String jsonDataString = this.getSharedPreferencesStringValue(ctx, "positions", "last_positions");
if (jsonDataString != null) {
Log.i(AppHelper.APP_LOG_NAMESPACE, "JSON DATA " + jsonDataString);
JSONObject jsonData = new JSONObject(jsonDataString);
jsonData.put("lat", lat.toString());
jsonData.put("lon", lon.toString());
jsonData.put("city", city);
jsonData.put("street", street);
jsonData.put("date", appHelper.getActualDateTime());
jsonData.put("time", appHelper.getActualDateTime());
this.setSharedPreferencesStringValue(ctx, "positions", "last_positions", jsonData.toString());
} else {
this.setSharedPreferencesStringValue(ctx, "positions", "last_positions","{}");
}
感谢您的任何建议。
【问题讨论】:
-
您在 SharedPreferences 中保存完整 JSON 对象的目的是什么?
-
问题是关于创建 JSON 结构的。不是为了在共享首选项中保存 JSON 字符串。我认为这是在 Android 中使用 SQL 的更简单的解决方案。
-
创建 JSON 结构?你是什么意思?
-
我想将新对象附加到旧对象,以获得像我的问题中一样的 JSON 结构。
-
你从来没有解释过你的代码出了什么问题。