java bean jsonobject_利用JSONObject将json 字符串转换为java bean对象

利用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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值