gpt4 book ai didi

java - 如何在Java Android中比较json对象并获取json数组中的特定json对象?

转载 作者:行者123 更新时间:2023-12-01 10:34:18 25 4
gpt4 key购买 nike

JSON 数组

[{
"status": "dummy text",
"statusId": 3,
"Imgstatus": "http://7-themes.com/data_images/out/40/6907072-flowers-abstract-backgrounds.jpg"
},
{
"status": "example text",
"statusId": 5,
"Imgstatus": "http://www.wallmuu.com/top/wallfile/flowers-background-high-definition-beautiful.jpg"
},
{
"status": "sample text",
"statusId": 4,
"Imgstatus": "http://www.twitterevolutions.com/bgs/flowers-and-swirls-twitter-background.jpg"
}]

如何从 "ImgStatus" 获取图像网址 key 按照 "statusId"上面的关键JsonArray ,并将每个图像 URL 保存在单独的 SharedPreference 上?

"ImgStatus" key 包含一些图像 url,并且 statusId是键包含一些属于每个对应图像的id号。

我在这里尝试过,但它有效。有人可以帮我吗?

SharedPreferences sp = (SharedPreferences)getSharedPreferences("MYPREF",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
for (int i=0;i<jsonArray.length();i++) {

JSONObject jsonObject1 = jsonArray.getJSONObject(i);
String statusID = jsonObject1.getString("statusId");
String imgUrls = jsonObject1.getString("Imgstatus");

if (statusID.toString().equals("3")){
editor.putString("IMG_1", imgUrls);
}

if (statusID.toString().equals("4")){
editor.putString("IMG_2", imgUrls);
}
if (statusID.toString().equals("5")){
editor.putString("IMG_3", imgUrls);
}

editor.commit();
}

SharedPreferences sharedPreferences = (SharedPreferences)getSharedPreferences("MYPREF", Context.MODE_PRIVATE);
String img1 = sharedPreferences.getString("IMG_1", "");
String img2 = sharedPreferences.getString("IMG_2", "");
String img3 = sharedPreferences.getString("IMG_3", "");

Log.d(">> Sharedpref img values : ", img1+"\n"+img2+"\n"+img3);

最佳答案

您仅获得一个值,因为您已在 for 循环的第一次迭代中关闭了首选项。在其他迭代中,不保存任何数据。

你需要输入

editor.commit();

for 循环之外(循环之后)。

关于java - 如何在Java Android中比较json对象并获取json数组中的特定json对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34872822/

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