Caused by: com.alibaba.fastjson.JSONException: default constructor not found. class

com.odx.common.bo.user.UserProjectNameRespDTO
	at com.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:558)
	at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:939)
	at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:845)
	at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.getFieldValueDeserilizer(DefaultFieldDeserializer.java:45)
	at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:55)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:838)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:288)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:686)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:396)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:364)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:278)
	at com.odx.frame.core.utils.FeignExtractRespBodyUtil.extractRespBody(FeignExtractRespBodyUtil.java:27)
	... 82 common frames omitted

按照错误翻译,是因为缺少构造函数,但是本身接收对象已经存在了默认构造函数,通过分析发现,在接收的值中,末尾存在一个逗号去掉后就可以了!!!!

### FastJSON解析时出现`JSONException: not close text`的原因分析 当使用FastJSON进行数据解析时,如果遇到错误提示 `JSONException: not close text`[^1] ,通常表明输入的JSON字符串存在语法问题或者不完整。具体来说: - JSON字符串可能缺少必要的结束符(如大括号 `{}` 或方括号 `[]`),导致无法形成合法的JSON结构。 - 输入的数据流被意外截断,特别是在处理网络请求返回的内容时容易发生此类情况。 为了有效解决问题,可以采取以下措施来验证并修正JSON字符串: #### 验证JSON合法性 在实际应用中,可以通过预校验机制确保传入的JSON字符串符合标准格式。例如,在Java代码中可利用正则表达式初步判断字符串是否具备基本的JSON形式: ```java public static boolean isValidJson(String jsonString) { try { new JSONObject(jsonString); // 尝试创建JSONObject对象 return true; } catch (Exception e) { return false; // 如果抛出异常,则说明不是有效的JSON } } ``` #### 使用try-catch捕获异常 即使进行了前期检测,仍需考虑运行期间可能出现的各种异常状况。因此建议在调用`parseObject()`方法处加入异常捕捉逻辑以便于定位问题所在位置以及提供更友好的反馈信息给用户端: ```java try{ Map<String, Object> map = JSONObject.parseObject(jsonString,new LinkedTypeReference<Map<String,Object>>(){}); }catch(JSONException je){ System.out.println("Error parsing JSON string:"+je.getMessage()); }finally{ //清理资源或其他收尾工作 } ``` 通过上述方式不仅可以防止程序因未预料到的情况而崩溃,还能收集更多关于失败原因的信息用于后续调试优化过程之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值