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

}

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

  1. 利用jsoncpp将json字符串转换为Vector

    在API测试过程中经常会遇到传入参数为复杂类型,一般情况下在python下,习惯用字典来表示复杂类型.但是c++对字符串的处理是比较弱智的,一般c++里边会用vector来存储复杂类型,那么就存在转换 ...

  2. Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换

    总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain;public class ...

  3. Json对象与Json字符串的转化、JSON字符串与Java对象的转换

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  4. json java typeof_Json对象与Json字符串的转化、JSON字符串与Java对象的转换

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  5. 对象json字符串数组 java对象,java把json的字符串转换为json对象和数组

    [Json--使用Json jar包实现Json字符串与Java对象或集合之间的互相转换] 1,[java将JSON字符串转换为实体类对象 @SuppressWarnings(unchecked)pu ...

  6. JSON 字符串 与 java 对象的转换

    jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...

  7. JSON字符串在Java和JavaScript中的解析和转换

    JSON字符串在Java和JS种的转换 1. JSON字符串格式 2. JSON 在 Java 中的转换 2.1 FastJSON 使用 2.2 Jackson 使用 2.3 Gson 使用 2.4 ...

  8. json字符串与java对象的相互转换(jackson)

    1.java对象转换为json字符串 package com.chichung.json;import com.fasterxml.jackson.core.JsonProcessingExcepti ...

  9. Java通过Fastjson实现JSONObject对象、Json字符串以及Java实体类之间互相转换

    导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</arti ...

最新文章

  1. 分布式存储系统sheepdog
  2. PHP项目中,记录错误日志
  3. Reading SBAR SDN flow-Based monitoring and Application Recognition
  4. PS基础学习 2---图层蒙版
  5. 新空间,新文章,新气象,哈??
  6. 迷瘴 详解(C++)
  7. win7系统怎么设置sql服务器,win7系统怎么安装sqlserver2000软件(图文)
  8. HTML5网页设计基础——图标导航栏
  9. 受激发射损耗显微术(一)
  10. 使用wireshark分析HTTPS数据包
  11. 如何用计算机设计动画,用电脑制作3D动画的详细过程是怎样的?
  12. PHP超全基础知识点
  13. 小米6刷MIUI12.5(miui12.5)超级详细教程
  14. 报错:[Banner] The number of titles and images is different
  15. 精通正则表达式的 12 个有用资源
  16. 使用机器学习模型预测贷款资格
  17. 模块递归拆分法: 设计模式 设计原则,复杂层次设计举例。系统重构 装饰模式,门面模式,代理模式
  18. css动画和js动画_CSS与JS动画:哪个更快?
  19. sql组合字段in查询
  20. bzoj 1415 [Noi2005]聪聪和可可

热门文章

  1. Windows下基于IIS服务的SSL服务器的配置
  2. [论文阅读] Person Re-identification: Past, Present and Future
  3. LINQ 学习路程 -- 查询操作 ElementAt, ElementAtOrDefault
  4. [SoapUI] context.expand 和 groovyUtils.getXmlHolder 有什么不一样
  5. 有关Kill Session问题的讨论(旧文初发)
  6. Google发布Chrome 8
  7. Cygwin的中文支持(解决乱码)
  8. 最正确的为GridView添加删除提示的方法(转)
  9. Pulseaudio之nemo(二十二)
  10. Ubuntu18.04之搜狗输入法