在日常业务中经常需要与外部系统交互处理数据,在此文章中记录一下我在项目中处理json数据流程。
第一种以实体类处理
以文档中的数据结构构建实体类,使字段与需要接收转换的JSON字段变量名尽量保持一致,如果不一致,则会获取不到变量的数值,也可以使用 @JsonProperty(value = “json变量名”)标注在字段上,通过注解来进行转换。
controller方法接收json数据
(@RequestBody XXX xxx)
将实体类转换成json字符串
将json字符串转换成对象或集合(需要根据自己接收到的参数选择转换的类型),然后获取字段调用对象的get方法即可。 String jsonString =接收到的json字符串
XXX xxx= JSONArray.parseObject(jsonString, XXX.class);//转换成对象
List<XXX > xxxs = JSONObject.parseArray(jsonString, XXX .class)//转换成集合
ChangeMeterRecord changeMeterRecord = JSONObject.parseObject(json, ChangeMeterRecord.class);
SwitchingTable switchingTable = JSONObject.parseObject(json2, SwitchingTable.class);
我是操作的集合
Map data = new HashMap();
data.put("newManufacturer",changeMeterRecord.getNewManufacturer());
data.put("newTableName",changeMeterRecord.getNewTableName());
data.put("newModel",changeMeterRecord.getNewModel());
data.put("newMeterNum",changeMeterRecord.getNewMeterNum());
data.put("newDirection",changeMeterRecord.getNewDirection());
data.put("newMeterOrigin",changeMeterRecord.getNewMeterOrigin());
data.put("newMeterFlow",changeMeterRecord.getNewMeterFlow());
data.put("newDigits",changeMeterRecord.getNewDigits());
data.put("newCardSubnumber",changeMeterRecord.getNewCardSubnumber());
data.put("changeReason",changeMeterRecord.getChangeReason());
data.put("originalReading",changeMeterRecord.getOriginalReading());
data.put("newReading",changeMeterRecord.getNewReading());
data.put("repairGasCost",changeMeterRecord.getRepairGasCost());
data.put("newSeal",changeMeterRecord.getNewSeal());
data.put("remark",changeMeterRecord.getRemark());
data.put("changedate", formatter.format(date));
第二种以JSONObject处理
接收数据
@RequestMapping(value = "/insertOutside",method=RequestMethod.POST)
public void insertOutside(@RequestBody JSONObject jsonObject)
文章来源:https://www.toymoban.com/news/detail-630711.html
JSONObject test = jsonObject.getJSONObject("对象名");//转换成对象
//从该对象中获取String变量
String string1 = test.getString("字段名");
//从该对象中获取Integer变量
Integer integer1= test.getInteger("字段名");
//从该对象中获取集合
JSONArray dataResultList = test.getJSONArray("集合名称");
//或还有其他格式
文章来源地址https://www.toymoban.com/news/detail-630711.html
到了这里,关于JAVA 接收JSON数据,并进行转换处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!