首页 > 编程知识 正文

java循环json数组的值(java循环jsonarray)

时间:2023-12-17 12:25:54 阅读:316525 作者:IYYC

本文目录一览:

JAVA怎么取JSON数组里的值???

需要写一个方法,把json数据转换成list集合数据

public static List jsonToBean(String data, Object bean) {

List list = new ArrayList();

try {

JSONArray array;

try {

array = new JSONArray(data);

for (int i = 0; i array.length(); i++) {

Object toBean = getBean(bean);

JSONObject ob = new JSONObject();

ob = (JSONObject) array.get(i);

toBean = jsonStrToBean(ob, toBean);

list.add(toBean);

}

return list;

} catch (JSONException e) {

try {

Object obj = null;

JSONObject jsonObj = new JSONObject(data);

Object toBean = getBean(bean);

toBean = jsonStrToBean(jsonObj, toBean);

list.add(toBean);

return list;

} catch (JSONException e1) {

log.error("Error covert String to JSONObject", e);

e1.printStackTrace();

}

e.printStackTrace();

log.error("Error covert String to JSONArray", e);

}

} catch (SecurityException e) {

e.printStackTrace();

}

return list;

}

然后取出list集合数据中的值应该没问题了吧。

Java 关于json取值问题

可以,前台用for循环取就行,先eval("(" + data + ")") data.allpic

.a = { "x" : "1", "y" : "2" } 就是这个对象了

如果是后台直接返回的,不用eval,比如spring mvc用ModelMap返回页面的话,直接用EL表达式取得ModelMap的key,就能取值,再用 xxx.xxx取其中的属性值,如果是数组,则循环,再用对象.属性取值。如有不明,留言,贴你的实际数据出来,与说明一下应用场景,再跟你解释

json数组在java中得到某列的值

public static void jsonToBean(String data) {

try {

JSONArray array = new JSONArray(data);//将json字符串转成json数组

for (int i = 0; i array.length(); i++) {//循环json数组

JSONObject ob = (JSONObject) array.get(i);//得到json对象

String name= ob.getString("name");//name这里是列名称,获取json对象中列名为name的值

System.out.print(name);//输出name

} catch (JSONException e) {

}

}

如何java解析json数组

工具/原料

安装有eclipse软件的电脑一台

方法/步骤

1

首先我们在eclipse中创建一个java工程,在java工程中创建一个HelloWorld的类,在这个java的入口程序中,我们来创建一个json字符串,并且打印出来,如下图:

2

将我们刚刚创建的json字符串打印出来如下所示,可以看出这个json包含了一个大json对象,大json对象里面又包含一个json数组,一个数组里面又包含三个json对象,如下图:

3

在java中我们要解析json数组必须借助第三方包,所以这里我们加载一下第三方包,首先我们将鼠标移动到项目名称上面去,然后右键召唤出右键快捷菜单,然后依次点击Build Path-Configure Build Paht...,如下图:

4

然后我们按照图中红色方框所示点击Libraries,然后点击Add Library...,如下图所示:

5

然后我们继续按照图中所示点击User Library,然后点击Next,如下图:

6

然后我们继续按照图中红色方框所示点击User Libraries...,如下图:

7

然后我们点击New...,来开始创建我们自己的libraries,如下图:

8

然后我们输入我们自己jar库的名字,这里我使用了jsonjar作为我们的名字,如下图:

9

接下来为我们的jar库添加jar包,我们按照下图中红色方框所示点击“Add External JARs”,如下图:

10

我们添加json相关的jar包,这里涉及json的第三方包主要包括这七个,所以我们把这七个包都引入到我们自己的jar库中去,如下图:

11

返回到User Libraries中发现,我们已经引入了所有的jar包,如下图:

我们按照下图中红色方框所示画勾,然后点击finish,如下图:

然后我们按照图中红色边框所示点击Apply,然后点击OK,如下图:

回到我们的工程中,从工程目录中我们可以看到,我们已经添加了自己的名字为jsonjar的jar库,如下图:

接下来我们回到程序中,在头部添加“import net.sf.json.JSONArray;import net.sf.json.JSONObject;”这两句代码,这两句表示引入了解析json的对象和数组的包,如下图:

然后我们通过代码“JSONObject.fromObject(json_array)”来将我们之前创建的json字符串转换成json对象,并且通过键值对的方式打印出json对象名字为“employees”的值,如下图:

打印出的名字为“employees”的json对象的值如下图是一个数组字符串,如下图:

接下来我们通过代码“jsonobj.getJSONArray("employees")”来将获取的数组字符串转变成为json组数,如下图:

并且我们打印出json数组的长度,可见程序计算的json数组的长度和我们实际的数组长度相一致,如下图:

接下来我们通过一个for循环将我们获取的json数组中的值依次取出来,由于数组中又包含3个对象,我们又需要将3个对象使用代码“JSONObject.fromObject(jsonarr.get(i));”将得到的对象字符串变成对象然后再取出来,如下图:

最后,我们将json数组的所有内容都展示到控制台,这样我们就可以使用java通过第三方json包来解析json数组了,如下图:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。