所以我将string array
存储到shared preference
。它保存如下:
["{action= some text, task= some text}", "{action= some text 2, task= some text 2 }" ]
如何检索操作和任务键中指示的字符串?
答案 0 :(得分:0)
根据您对问题的评论(您现在已删除),您的字符串不是生成有效JSON的最佳方式...
["{action= some text, task= some text}", "{action= some text 2, task= some text 2 }" ]
在上面使用JSON,action
和task
看起来应该是键,应该用引号括起来,即"action"
和"task"
。
在这种情况下,代替使用=
,键/值对应由:
分隔,并假设some text
和some text 2
(值)也是字符串需要被引号括起来。
最后一个JSON对象没有被引号括起来,所以你的JSON字符串应该看起来像这样......
[{"action":"some text", "task":"some text"}, {"action":"some text 2", "task":"some text 2"}]
现在,假设您有一个代表上述内容的JSONArray
,您可以使用类似的内容将其保存到SharedPreferences ...
prefs.edit().putString("json_string", myJsonArray.toString()).commit();
...然后检索它使用...
JSONArray myJsonArray = new JSONArray(prefs.getString("json_string", ""));
当您检索到JSONArray时,您可以使用...
获取每个JSONObjectmyJsoObject = myJsonArray.getJSONObject(0); // In this case it's index 0 - use a for loop to retrieve all
然后您可以按照以下方式获取action
和task
...
String actionValue = myJsonObject.getString("action");
String taskValue = myJsonObject.getString("task");