导航:首页 > 编程语言 > java遍历jsonarray

java遍历jsonarray

发布时间:2022-10-30 10:39:17

⑴ 求java合并json数据的代码

我想了一下,但是得有一个前提,就是第一个json数组的size必须和第二个json数组的size相同,并且一一对应,否则将造成数组溢出。

如果是基于上面这个前提,那么实现的方法就简单了。

操作json对象,其实标准的方法是将实体类转换成json后再操作,我这里的话为了便捷直接使用谷歌的Gson来创建JsonObject了,其他的json依赖还有阿里巴巴的FastJson等等,看你平时用什么习惯。

引入Gson依赖:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>

实现代码:

public class Main {
public static void main(String[] args) {
JsonArray jsonArray1 = new JsonArray();
JsonObject json11 = new JsonObject();
json11.addProperty("数据1", "0000");
json11.addProperty("数据2", "1111");
JsonObject json12 = new JsonObject();
json12.addProperty("数据1", "0000");
json12.addProperty("数据2", "1111");
JsonObject json13 = new JsonObject();
json13.addProperty("数据1", "0000");
json13.addProperty("数据2", "1111");
jsonArray1.add(json11);
jsonArray1.add(json12);
jsonArray1.add(json13);
System.out.println(jsonArray1);

JsonArray jsonArray2 = new JsonArray();
JsonObject json21 = new JsonObject();
json21.addProperty("数据3", "6666");
JsonObject json22 = new JsonObject();
json22.addProperty("数据3", "6666");
JsonObject json23 = new JsonObject();
json23.addProperty("数据3", "6666");
jsonArray2.add(json21);
jsonArray2.add(json22);
jsonArray2.add(json23);
System.out.println(jsonArray2);

//遍历json数组,按位取出对象
for (int i = 0; i < jsonArray1.size(); i++) {
JsonObject json1 = jsonArray1.get(i).getAsJsonObject();
JsonObject json3 = jsonArray2.get(i).getAsJsonObject();
//遍历数据3内容,通过Entry获取数据3的key和value,并合并到数据1中
for (Map.Entry<String, JsonElement> item : json3.entrySet()) {
json1.addProperty(item.getKey(), item.getValue().getAsString());
}
}
System.out.println(jsonArray1);
}
}

整体思路为:遍历两个json数组,按位进行合并操作。合并时,遍历数据3的jsonObject,获取其key和value,并将其合并到数据1中即可。

运行结果:

⑵ java foreach是否能对jsonarray进行遍历

应该是可以的
1.我用的jar包是com.alibaba.fastjson是这个
2.代码片段

1
2
3
4
5

JSONArray arrays = JSONObject.parseArray("集合json");
for(Object obj:arrays){
JSONObject o = (JSONObject) obj;
String value = o.getString("JSONArray每个元素中,你需要的那个key");
}

⑶ java中怎么遍历jsonarray

String json =
"[" +
" {" +
" \"resultcode\": \"200\"" +
" }," +
" {" +
" \"resultcode\": \"201\"" +
" }" +
"]";
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(json);
JsonArray ja=je.getAsJsonArray();
for (JsonElement jsonElement : ja) {
System.out.println(jsonElement.getAsJsonObject().get("resultcode").getAsString());
}

⑷ java的JSONArray如何使用

  1. 从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。

  2. 数组内容如下:

    /**

    * 从json数组中得到相应java数组

    * JSONArray下的toArray()方法的使用

    * @param str

    * @return

    */

    public static Object[] getJsonToArray(String str) {JSONArray jsonArray = JSONArray.fromObject(str);

    return jsonArray.toArray(); }

3.从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。

4.分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。

5.同样,如果要获取java数组中的元素,只需要遍历该数组。

⑸ java后台的json值怎么传给jsp页面,并进行遍历

首先看你的后台是用的什么。
1、servlet,把json放在request(session)对象里,然后返回,jsp在request里取。
2、框架,放在form表单里带回去,jsp页面用标签直接调用。

遍历的方式很多,《% %》的方式 或者《C:BEAN》等方式都可以

满意请采纳。

⑹ java如何遍历json 请具体点

JSONObject jsonObject = new JSONObject(jsonString);

JSONArray jsonArray =jsonObject.getJSONArray(“info”);

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jo = jsonArray.getJSONObject(i);
System.out.println(jo.getString("goodsld"));
System.out.println(jo.getString("goodsq"));

}

⑺ java的JSONArray怎么用比如有一个JSONArray是 [{..."a":123, "

  1. 从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。

  2. 数组内容如下:

    /**

    * 从json数组中得到相应java数组

    * JSONArray下的toArray()方法的使用

    * @param str

    * @return

    */

    public static Object[] getJsonToArray(String str) {JSONArray jsonArray = JSONArray.fromObject(str);

    return jsonArray.toArray(); }

3.从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。

4.分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。

5.同样,如果要获取java数组中的元素,只需要遍历该数组。

⑻ java foreach是否能对jsonarray进行遍历

应该是可以的
1.我用的jar包是com.alibaba.fastjson是这个
2.代码片段
1
2
3
4
5
JSONArray
arrays
=
JSONObject.parseArray("集合json");
for(Object
obj:arrays){
JSONObject
o
=
(JSONObject)
obj;
String
value
=
o.getString("JSONArray每个元素中,你需要的那个key");
}

⑼ java中把json怎么转换成数组

使用原生的解析:

String json = "...";

//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:

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

obj = array.getJSONObject(j);

Data data = new Data();

mDataList.add(data);

}

数组声明

在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

以上内容参考:网络-数组

⑽ Java实现JSON多层遍历

JSONObject jsonObject = new JSONObject(s);
然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中
JSONObject jsonObject = new JSONObject(jsonString);
Iterator iterator = jsonObject.keys();while(iterator.hasNext()){
key = (String) iterator.next();
value = jsonObject.getString(key);
}

阅读全文

与java遍历jsonarray相关的资料

热点内容
手机上用什么来编程 浏览:430
华为设置为大文件夹时怎么展开 浏览:860
如何打开腾讯云服务器防火墙 浏览:169
电脑编程属于it吗 浏览:353
如何分辨文件夹 浏览:714
哪里能学懂通达信每个源码的含义 浏览:833
命令式过去式形式 浏览:450
车铣复合铣六角编程实例 浏览:743
android通知的呼吸灯 浏览:907
单片机排针的功能 浏览:849
华为的服务器现在被什么公司收购 浏览:285
服务器粘包怎么处理 浏览:726
怎么进创意工坊的服务器 浏览:786
空调压缩机加变频器 浏览:968
加密货币有哪些可以玩 浏览:993
腾讯云服务器如何生成备案授权码 浏览:950
计算机学算法好还是人工智能 浏览:500
java命令运行eclipse 浏览:979
u盘加密其他办法 浏览:808
zm螺纹算法 浏览:778