您的位置:

json对象合并java,对象与json互转

json对象合并java,对象与json互转

更新:

本文目录一览:

求java合并json数据的代码

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

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

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

引入Gson依赖:

dependency

groupIdcom.google.code.gson/groupId

artifactIdgson/artifactId

version2.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.EntryString, JsonElement item : json3.entrySet()) {

json1.addProperty(item.getKey(), item.getValue().getAsString());

}

}

System.out.println(jsonArray1);

}

}

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

运行结果:

java json 深度合并

跟你讲一下思想吧,为了通用我们需要将问题考虑为并不是合并2个json,而是合并n个json

首先利用json包解析已知n个json字符串使其成为Map,

创建新空的jsonA对象,开始对n个已知json使用深度遍历,

深度遍历的开始点将会把jsonA的指针初始化,深度遍历第n个json的每个节点,jsonA的指针随之变动,若jsonA指针指向为空,则与其遍历的第n个json节点进行赋值。

即可对json进行合并。

java中,怎么把两个jsonObject合并成一个?

方法为,把两个拼装好的JSON串合并成一个新的JSON,两个JSON相同的key值情况下只保存一个,后放入的JSON串对应key的Value值会覆盖先放入的。

具体操作设置方法为

import net.sf.json.JSONObject;

public class JSONCombine

{

public static void main(String[] args)

{

JSONObject jsonOne = new JSONObject();

JSONObject jsonTwo = new JSONObject();

jsonOne.put("name", "kewen");

jsonOne.put("age", "24");

jsonTwo.put("hobbit", "Dota");

jsonTwo.put("hobbit2", "wow");

JSONObject jsonThree = new JSONObject();

jsonThree.putAll(jsonOne);

jsonThree.putAll(jsonTwo);

System.out.println(jsonThree.toString());

}

}

运行结果: 

{"name":"12345","age":"24","hobbit":"Dota","hobbit2":"wow"}

json转object示例

ObjectMapper objectMapper = new ObjectMapper();

YourClass class = objectMapper.readValue(YourJson, YourClass.class);

如果json中有新增的字段并且是YourClass类中不存在的,则会转换错误。

1)需要加上如下语句,这种方法的好处是不用改变要转化的类

ObjectMapper objectMapper = new ObjectMapper();

objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

YourClass class = objectMapper.readValue(YourJson, YourClass.class);

2)jackson库还提供了注解方法,用在class级别上

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)

public class YourClass {

...

}

json对象合并java,对象与json互转

本文目录一览: 1、求java合并json数据的代码 2、java json 深度合并 3、java中,怎么把两个jsonObject合并成一个? 求java合并json数据的代码 我想了一下,但是得

2023-12-08
java对象与json的互换,js中对象与json对象的转换

2022-11-22
java中对象和json互转,java string jso

2022-11-24
json对象转化为java对象(java将对象转成json)

本文目录一览: 1、非常复杂的一个json串,怎么转成java对象? 2、怎么将json对象转换成一个java对象 3、json字符串怎么转换为java对象 4、json字符串怎么转换为java对象?

2023-12-08
java对象转json顺序,将json对象转化为java对象

2022-11-26
java对象集合转json格式(json数据转换为java对

2022-11-13
json和java转换,json数据转换为java对象

本文目录一览: 1、非常复杂的一个json串,怎么转成java对象? 2、json字符串怎么转换为java对象 3、如何把json数组转为java数组 4、如何实现JSON与JAVA数据的相互转换 5

2023-12-08
Python实现Android中JSON与对象的互转

2023-05-14
json串转java对象(复杂json串转为java对象)

本文目录一览: 1、json数组转java对象怎么转? 2、json格式的字符串转换为java对象 3、json数组转java对象怎么转 json数组转java对象怎么转? 1、需要json的相关ja

2023-12-08
hutool对象转json

2023-05-21
javabean转json的方法,java对象转json

本文目录一览: 1、android怎么将javabean转换成json 2、java中一个包含bean属性的list集合 如何转换成JSON 3、带有对象属性的bean,如何转换成json对象或者字符

2023-12-08
json转java对象gson,json转java对象区分大

2022-11-24
实例对象转换成json(什么是变换对象)

本文目录一览: 1、如何将 javascript 对象转换成 json字符串 2、怎么把一个对象list集合转换成json 3、如何将数据实体转换为 JSON 字符串 4、如何把一个对象转换为json

2023-12-08
java集合转json字符串,java字符串转json对象

2022-11-25
jsonobject对象转java对象,json字符串转js

2022-11-25
Java String 转 JSON 对象详解

2023-05-17
javajson转listlist,json转对象 java

本文目录一览: 1、java 怎么将jsonarray转换成list 2、如何通过Java代码将JsonArray转化为list集合 3、Java中如何将Json中的某属性转为一个List? 4、js

2023-12-08
javajson转csv(Java json转对象)

本文目录一览: 1、如何将json的数据转化成csv的数据格式 2、java中怎么把json转换成对象数组 3、java将json格式转换嫒雖ysql的java脚本,有没有 4、如何将CSV格式转换成

2023-12-08
将java对象转为json,将java对象转为json格式

2022-11-24
java遍历json,java遍历json对象

2022-11-30