java合并json数据的代码

我想了一下,但是必须有一个前提,第一个json数组的大小必须和第二个json数组的大小相同,并且要一一对应,否则数组会溢出。

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

操作json对象,其实标准的方法是先把实体类转换成json再操作。我用Google的Gson直接创建json对象是为了方便,其他JSON依赖包括阿里巴巴的FastJson等。,看你平时用什么习惯了。

Gson依赖性介绍:

& lt依赖性& gt

& ltgroupId & gtcom . Google . code . gson & lt;/groupId & gt;

& ltartifactId & gtgson & lt/artifact id & gt;

& lt版本& gt2 . 8 . 0 & lt;/version & gt;

& lt/dependency & gt;

实施代码:

公共类Main {

公共静态void main(String[] args) {

JSON array JSON array 1 = new JSON array();

JSON object JSON 11 = new JSON object();

JSON 11 . add property(" data 1 "," 0000 ");

JSON 11 . add property(" data 2 "," 111 ");

JSON object JSON 12 = new JSON object();

JSON 12 . add property(" data 1 "," 0000 ");

JSON 12 . add property(" data 2 "," 1111 ");

JSON object JSON 13 = new JSON object();

JSON 13 . add property(" data 1 "," 0000 ");

JSON 13 . add property(" data 2 "," 1111 ");

JSON array 1 . add(JSON 11);

JSON array 1 . add(JSON 12);

JSON array 1 . add(JSON 13);

system . out . println(JSON array 1);

JSON array JSON array 2 = new JSON array();

JSON object JSON 21 = new JSON object();

JSON 21 . add property(" data 3 "," 6666 ");

JSON object JSON 22 = new JSON object();

Json22.addProperty ("data 3 "," 6666 ");

JSON object JSON 23 = new JSON object();

Json23.addProperty ("data 3 "," 6666 ");

JSON array 2 . add(JSON 21);

JSON array 2 . add(JSON 22);

JSON array 2 . add(JSON 23);

system . out . println(JSON array 2);

//遍历json数组,一点一点取出对象。

for(int I = 0;我& ltJSON array 1 . size();i++) {

JSON object JSON 1 = JSON array 1 . get(I)。getAsJsonObject();

JSON object JSON 3 = JSON array 2 . get(I)。getAsJsonObject();

//遍历数据3的内容,通过Entry得到数据3的键和值,合并成数据1。

对于(图。Entry & ltString,JsonElement & gtitem : json3.entrySet()) {

JSON 1 . add property(item . getkey()、item.getValue()。getAsString());

}

}

system . out . println(JSON array 1);

}

}

整个想法是遍历两个json数组并一点一点地合并它们。合并时,遍历data 3的jsonObject,获取它的键和值,合并成data 1。

运行结果: