首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >遍历包含数组的json值以选取图像字符串

遍历包含数组的json值以选取图像字符串
EN

Stack Overflow用户
提问于 2018-04-27 23:44:49
回答 2查看 36关注 0票数 0

我能够获取db中的值并将其传递给字符串数组,如下所示

代码语言:javascript
运行
复制
String[] strArrayCol = new String[6];
strArrayCol[4] = json_data.getString("images");

如果你打印上面的代码,你会得到:

代码语言:javascript
运行
复制
[{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/yi6ej6f524bepyujh49y.png"},{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/wendzj5atiks45c3zw00.png"},{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/rg04t5vcp4yxwdew677n.png"},{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/3yvy9f970vit2pxascv7.png"}]

我的尝试是执行一些类似于

代码语言:javascript
运行
复制
ArrayList<String[]> imgCol...
imgCol.add(strArrayCol );

 for (String [] val : imgCol){
                                System.out.println( val[4]);
                            }

让它打印出来

代码语言:javascript
运行
复制
http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/yi6ej6f524bepyujh49y.png
http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/wendzj5atiks45c3zw00.png
http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/rg04t5vcp4yxwdew677n.png
http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/3yvy9f970vit2pxascv7.png

我怎样才能做到这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2018-04-28 00:15:42

根据您的代码和解释,您似乎是JSON对象“图像”是以下字符串:

代码语言:javascript
运行
复制
{images:[{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/yi6ej6f524bepyujh49y.png"},{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/wendzj5atiks45c3zw00.png"},{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/rg04t5vcp4yxwdew677n.png"},{"path":"http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/3yvy9f970vit2pxascv7.png"}])}

它是图像的值的路径,您的代码应该如下所示来检索JSONArray的值

我删除了字符串中多余的反斜杠。

代码语言:javascript
运行
复制
JsonImplement.parseJson("{\"images\":[{\"path\":\"http://10.0.2.2:88//web/uploads/images/yi6ej6f524bepyujh49y.png\"},{\"path\":\"http://10.0.2.2:88//web/uploads/images/wendzj5atiks45c3zw00.png\"},{\"path\":\"http://10.0.2.2:88//web/uploads/images/rg04t5vcp4yxwdew677n.png\"},{\"path\":\"http://10.0.2.2:88//web/uploads/images/3yvy9f970vit2pxascv7.png\"}]}");

这是我用另一种方法写的逻辑。

代码语言:javascript
运行
复制
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(jsonString);
JSONArray arr = (JSONArray) jsonObject.get("images");
for(int i=0;i<arr.size();i++)
{
    JSONObject obj2 = (JSONObject) arr.get(i);
    System.out.println(obj2.get("path"));
}

这将为您提供图像路径的输出

代码语言:javascript
运行
复制
http://10.0.2.2:88//web/uploads/images/yi6ej6f524bepyujh49y.png
http://10.0.2.2:88//web/uploads/images/wendzj5atiks45c3zw00.png
http://10.0.2.2:88//web/uploads/images/rg04t5vcp4yxwdew677n.png
http://10.0.2.2:88//web/uploads/images/3yvy9f970vit2pxascv7.png
票数 0
EN

Stack Overflow用户

发布于 2018-04-28 00:48:42

如果您知道您的图像文件名将始终采用以下格式:

代码语言:javascript
运行
复制
{path}/{filename}

然后有一种简单的技术来查找文件名。

  1. 查找字符串中的最后一个斜杠(/)字符。
  2. 文件名是最后一个斜杠字符后面的所有内容。

例如:

代码语言:javascript
运行
复制
http:\/\/10.0.2.2:88\/\/web\/uploads\/images\/yi6ej6f524bepyujh49y.png

"path“值为"http://10.0.2.2:88//web/uploads/images/”,"filename“值为"yi6ej6f524bepyujh49y.png”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50065972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档