文章标题

来源:互联网 发布:谷歌浏览器for mac 编辑:程序博客网 时间:2024/04/25 16:51

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中

1 0
原创粉丝点击