gpt4 book ai didi

java - 如何在 Android 中将 int 数组转换为 JSON 字符串?

转载 作者:行者123 更新时间:2023-11-29 09:41:03 25 4
gpt4 key购买 nike

我希望能找到这个问题,但我找不到。也许我在谷歌上搜索了错误的东西。

我有一个原始整数数组 (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"} 不确定引号,但你明白了.

我想这样做的原因:

我想跟踪本地镜像(在 drawable 文件夹中),所以我将它们的 id 存储在 int 数组中,然后我想以 JSON 字符串的形式存储这个数组,稍后将由另一个解析 Activity 。而且我知道我可以通过 Intent extras 实现这一点。但我必须使用 SharedPreferences 来完成。

感谢您的帮助!

最佳答案

您不必使用 Arrays.asList 实例化 JSONArray。它可以采用普通原始数组。

试试 JSONArray mJSONArray = new JSONArray(image_ids_primitive);

如果您使用的 API 级别低于 19,一种简单的方法就是循环遍历 int 数组并将它们放入。

JSONArray mJSONArray = new JSONArray();

for(int value : image_ids_primitive)
{
mJSONArray.put(value);
}

来源:Android Developers doc

关于java - 如何在 Android 中将 int 数组转换为 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20117603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com