• 利用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;
    	}
    
  • 相关阅读:
    RabbitMQ 安装
    字符串转换
    sqlserver 远程链接
    力软框架 接口映射的时候不能修改添加接口原因
    json串处理2
    版本比较,数据库存储
    各种分页方法推荐
    生成数据库编号重复问题
    从统计局抓取2016年最新的全国区县数据!!
    “集群和负载均衡”等的通俗解释
  • 原文地址:https://www.cnblogs.com/jasonboren/p/12319356.html
Copyright © 2020-2023  润新知