利用JSONObject将json 字符串转换为java bean对象
2023-09-27 14:22:26 时间
利用JSONObject将下面这个json字符串转换为javabean对象
{
"assetInfoList":[{
"devsno":"xxx",
"assetno":"xxx",
"domain":"xxx",
"devtype":"xxx",
"category":"xxx",
"vendor":"xxx",
"hardver":"xxx",
"softwarever":"xxx",
"custname":"xxx",
"custaddr":"xxx!",
"contactinfo":"xxx",
"orders":"xxx,xxx",
"services":"xxx,xxx,xxx",
"opertime":"xxx",
"orderNumber":"xxx",
"taskNumber":"xxx",
"multicast":"xxx"}],
"infname":"xxx",
"requestserial":"xxx",
"sysname":"xxx"
}
解析过程分析:
private AMSRequestStruct decode(String jsonStr) {
//实体对象
AMSRequestStruct request = new AMSRequestStruct();
//将jsonStr转为JSON对象
JSONObject obj = JSONObject.fromObject(jsonStr);
//获取json对象的值 json格式为key-value形式
request.setSysname(obj.getString("sysname").trim());
request.setRequestserial(obj.getString("requestserial").trim());
request.setInfname(obj.getString("infname").trim());
//json数组转换为JSONArray
JSONArray array = obj.getJSONArray("assetInfoList");
//声明一个list
ArrayList list = new ArrayList();
//循环遍历json数组
for (int i = 0; i < array.size(); i++) {
JSONObject asset = array.getJSONObject(i);
AssetInfo info = new AssetInfo();
info.setDevsno(asset.getString("devsno").trim());
info.setAssetno(asset.getString("assetno").trim());
info.setCmsdomain(asset.getString("domain").trim());
info.setDomain(asset.getString("domain").trim());
info.setDevtype(asset.getString("devtype").trim());
info.setCategory(asset.getString("category").trim());
info.setVendor(asset.getString("vendor").trim());
info.setHardver(asset.getString("hardver").trim());
info.setSoftwarever(asset.getString("softwarever").trim());
info.setCustname(asset.getString("custname").trim());
info.setCustaddr(asset.getString("custaddr").trim());
info.setContactinfo(asset.getString("contactinfo").trim());
info.setOrders(asset.getString("orders").trim());
info.setServices(asset.getString("services").trim());
info.setMulticast(asset.getString("multicast").trim());
info.setOpertime(asset.getString("opertime").trim());
info.setStatus(request.getInfname2(request.getInfname()));
info.setDevstatus(request.getFlag2(request.getInfname2(request.getInfname())));
info.setInvtype(request.getFlag3(request.getInfname2(request.getInfname())));
info.setOrdernumber(asset.getString("orderNumber"));
info.setTasknumber(asset.getString("taskNumber"));
//将info添加到list中
list.add(info);
}
request.setAssetInfoList(list);
return request;
}
相关文章
- Eclipse 创建 Java 项目
- Java 反射调用方法实例,动态动用方法实例
- Java 字符串常用操作(比较、查找位置、删除字符、替换字符串、反向输出、是否存在、分割字符串、大小写转换,区域比较、拼接字符串)
- Java版Word开发工具Aspose.Words基础转换指南:将Word文档和图像转换为PDF
- java字符数组char[]和字符串String之间的转换
- Java中的日期与时间获取与转换?
- java中byte数组与int类型的转换(两种方式)
- 【Java】DTO对象转换
- 第二十三节:Java语言基础-详细讲解函数与数组
- Java I/O流InputStream,OutputStream,Reader,Writer
- Java中String和byte[]间的转换浅析
- 抖音小店(抖店)Java restTemplate 提示param_json非json格式,请检查!
- java安全编码指南之:lock和同步的正确使用
- 浅析Json介绍(节省流量)、Java中JSON字符串如何与Java对象互相转换/如何与List互转/如何与Map互转(toBean方法)
- Java多线程之线程状态转换图
- 字符和字节详解、Java中字节串和字符串相互转换
- Java使用icepdf转高清图片
- Java工程转换为Maven工程
- Java 方法
- 小白的消费为何被迫升级?-java数据类型的转换
- Java使用aopse实现word转换pdf
- Java转换json数据输出