【发布时间】:2013-11-21 09:56:14
【问题描述】:
我希望能找到这个问题,但我找不到。也许我在谷歌搜索错误的东西。
我有一个原始整数数组 (int[]),我想将其转换为 String,即“JSON-Parseable”,然后再转换回相同的 int[]。
我尝试了什么:
我试过这段代码:
// int[] image_ids_primitive = ...
JSONArray mJSONArray = new JSONArray(Arrays.asList(image_ids_primitive));
String jSONString = mJSONArray.toString();
Prefs.init(getApplicationContext());
Prefs.addStringProperty("active_project_image_ids", jSONString);
// Note: Prefs is a nice Class found in StackOverflow, that works properly.
当我打印jSONString 变量时,它的值是:["[I@40558d08"]
然而,我希望有一个像这样的正确 JSON 字符串:{"1" : "424242" , "2":"434343"} 不确定引号,但你明白了。
我想这样做的原因:
我想跟踪本地图像(在可绘制文件夹中),所以我将它们的 id 存储在 int 数组中,然后我想以 JSON 字符串的形式存储这个数组,稍后将由另一个解析活动。而且我知道我可以通过 Intent extras 实现这一目标。但我必须使用 SharedPreferences。
感谢您的帮助!
【问题讨论】: