JAVA中json转换为集合(对象)之间的相互转换

  字符串转换为json对象:

String strResult = RestUtil.getRestContent(url+"/service/peccancy/myOrderList", mappeccancy);
JSONObject obj = JSONObject.fromObject(strResult);

  json对象转换成list集合:

JSONArray objData =  (JSONArray)obj.get("data"); //获取data字段

peccancyList=(List<PeccancyVO>)objData.toCollection(objData, PeccancyVO.class);

  json对象转换成对象:

   PeccancyVO vo=(PeccancyVO)JSONObject.toBean(obj,PeccancyVO.class);   

这里注意:对象一定要有无参的构造方法,否则会报错:java.lang.nosuchmethodexception <init>

之前:
for (Object objvar : objDatas)
{
String orderNum =((JSONObject)objvar).get("orderNum")==null?"":((JSONObject) objvar).get("orderNum").toString();
String payOrderNum =((JSONObject)objvar).get("payOrderNum")==null?"":((JSONObject) objvar).get("payOrderNum").toString();
String status1 =((JSONObject)objvar).get("status")==""?"0":((JSONObject) objvar).get("status").toString();
String payTime =((JSONObject)objvar).get("payTime")==""?"0.0":((JSONObject) objvar).get("payTime").toString();
String money =((JSONObject) objvar).get("money")==""?"0.0":((JSONObject) objvar).get("money").toString();
String price =(((JSONObject) objvar).get("price")==""||((JSONObject) objvar).get("price")==null)?"0.0":((JSONObject) objvar).get("price").toString();
String type =((JSONObject) objvar).get("type")==null?"":((JSONObject) objvar).get("type").toString();
String confirmStatus =((JSONObject) objvar).get("confirmStatus")==null?"0":((JSONObject) objvar).get("confirmStatus").toString();
String createTime =((JSONObject) objvar).get("createTime")==null?"":((JSONObject) objvar).get("createTime").toString();
String iccid1 =((JSONObject) objvar).get("iccid")==null?"":((JSONObject) objvar).get("iccid").toString();
String imei1 =((JSONObject) objvar).get("imei")==null?"":((JSONObject) objvar).get("imei").toString();
String productName =((JSONObject) objvar).get("productName")==null?"":((JSONObject) objvar).get("productName").toString();
MyOrderVO order=new MyOrderVO(orderNum,payOrderNum,Integer.valueOf(status1),
payTime,Double.valueOf(money),Integer.valueOf(type),Integer.valueOf(confirmStatus),createTime,
iccid1,imei1,productName,Double.valueOf(price));
myorderList.add(order);
}

之后:

myorderList=(List<MyOrderVO>)obj1.toCollection(obj1, MyOrderVO.class);

原文地址:https://www.cnblogs.com/liuying1995/p/5799762.html