关于jsonArray 和jsonobject 在servlet中运行出错问题;

本文探讨了将JSON包作为userlibrary使用时可能出现的问题,并提供了解决方案,即直接将JSON包复制到项目的lib目录下。

如果把json包弄成user li'brary 就可能出错 再导入项目中就可能出错。原理(当运行是servlet时会在lib 中找 json的包,可是。。。。。)like:






如果改成 把json的包复制到lib 下就不会出错了 like:

package com.api.hw.hssl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.api.hw.utils.Result; import com.api.hw.utils.WebJsonUtils; import com.api.integration.web.OAuth2ServerAction; import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.integration.logging.Logger; import weaver.integration.logging.LoggerFactory; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import java.util.HashMap; @Path("/hw/hssl") public class SyncOrderAPI { private Logger logger = LoggerFactory.getLogger(OAuth2ServerAction.class); @POST @Path("/SynOrders") @Produces("application/json") public Object getSyncOrderinfo(@Context HttpServletRequest request, @Context HttpServletResponse response){ this.logger.info("================getSyncOrderInfo start...==============================="); HashMap retMap = new HashMap(); Result result = null; try { String sql = "Insert INTO Order(orderType, start_datetime, end_datetime, discount, trainSeat,cabinType, actualPlaceOfDeparture, actualDestination, travelername,roomType, orderDate, orderAmount, vehicleType, originalOrderNo, universalType)values ('住宿','2025-03-01 14:00:00','2025-03-04 14:00:00' ,'0.9','二等座','经济舱','东莞','北京','张三','标间','2025-07-08','1000.00','经济型','202507060102','火车席位')"; RecordSet recordSet = getRecordSet(sql); JSONArray data = new JSONArray(); while(recordSet.next()){ JSONObject jsonObject = new JSONObject(); jsonObject.put("orderType",recordSet.getString("orderType")); jsonObject.put("start_datetime",recordSet.getString("start_datetime")); jsonObject.put("end_datetime",recordSet.getString("end_datetime")); jsonObject.put("discount",recordSet.getString("discount")); jsonObject.put("trainSeat",recordSet.getString("trainSeat")); jsonObject.put("cabinType",recordSet.getString("cabinType")); jsonObject.put("actualPlaceOfDeparture",recordSet.getString("actualPlaceOfDeparture")); jsonObject.put("actualDestination",recordSet.getString("actualDestination")); jsonObject.put("travelername",recordSet.getString("travelername")); jsonObject.put("roomType",recordSet.getString("roomType")); jsonObject.put("orderDate",recordSet.getString("orderDate")); jsonObject.put("orderAmount",recordSet.getString("orderAmount")); jsonObject.put("vehicleType",recordSet.getString("vehicleType")); jsonObject.put("originalOrderNo",recordSet.getString("originalOrderNo")); jsonObject.put("universalType",recordSet.getString("universalType")); data.add(jsonObject); } result = Result.build(200, "success!!!", data); return result; }catch (Exception e) { logger.error(e.getMessage()); result = Result.build(500, "=====error occured !" + e.getMessage(), retMap); } return result; } public static RecordSet getRecordSet(String sql) { RecordSet recordSet = new RecordSet(); BaseBean logInfo = new BaseBean(); try { recordSet.execute(sql); } catch (Exception e) { logInfo.writeLog("数据异常:" + e); } return recordSet; } }
最新发布
07-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值