文章标题

jsonObject和jsonArray的互相转换

首先先说一下这两个家伙在我们项目中运用,我们项目中一般引的是

commons-lang.jar
commons-beanutils.jar
commons-collections.jar
json-lib-2.2.2-jdk15.jar

JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包

举个例子
{“items”:[{“age”:1,”name”:”李四”},{},{}]}或
{“items”:{“age”:1,”name”:”张三”}}

上面的数据格式在我们的项目中经常遇到. 这时我们就会引入上面的包, 然后会去用jsonObject去接收

jsonObject obj = new jsonObject ("items");

如果是简单的一组数据,那么我们接收完之后 去给我需要的赋值就可以了,但是如果是好多组数据那么我们就必须转换为jsonArray格式,然后遍历赋值

        public static List<OrderDetail> perpareUpdateOrderDetail(JSONArray orderArray) throws InvalidRequestException

{    
try   
{
List<OrderDetail> orderDetailList = new ArrayList<OrderDetail>();
  for (int i = 0; i < orderArray.length(); i++)
  {
    OrderDetail orderDetail = new OrderDetailImpl();
    JSONObject orderDetailObj = orderArray.getJSONObject(i);

    orderDetail.setId(orderDetailObj.getLong(ClothingQNames.ID));
    orderDetail.setOrderId(orderDetailObj.getLong(ClothingQNames.ORDER_ID));
    orderDetail.setPlayerName(orderDetailObj.getString(ClothingQNames.PLAYER_NAME));
    orderDetail.setPlayerNumber(orderDetailObj.getInt(ClothingQNames.PLAYER_NUMBER));
    orderDetail.setPlayerSize(orderDetailObj.getString(ClothingQNames.PLAYER_SIZE));

    orderDetailList.add(orderDetail);
  }
  return orderDetailList;
}
catch (Exception e)
{
  throw new InvalidRequestException("Wrong OrderDetail json format");
}

就如上面 JSONObject orderDetailObj = orderArray.getJSONObject(i); 取出单组数据然后 转换为java对象, 最后存入List中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值