字符串转化成JSON对象JSONObject报错

将字符串转化成JSON对象JSONObject 报错

JSONObject object = JSONObject.parseObject(‘str’)下的JSON对象

因为这里的JSONObject不是 com.alibaba.fastjson包下的

pom引入 com.alibaba.fastjson依赖

 

https://blog.csdn.net/qq_33033987/article/details/81295980

 

 

 

当你尝试将一个`JSONObject`换为`byte[]`然后再反序列化回`JSONObject`时,可能会遇到"not jsonObject"的错误,因为不是所有的Java对象都可以直接换为JSON,尤其是那些不能表示为JSON结构的对象。`net.sf.json.JSONObject`通常用于处理JavaScript Object Notation (JSON),它只适用于能对应JSON规范的数据结构。 在你的示例中,可能是因为原始的`student`对象包含了无法化为JSON的数据类型,或者是JSON的格式不符合期望。要解决这个问题,你需要确保`student`对象的数据可以被`JSONObject`类正确地解析并换。 如果`student`对象包含复杂的自定义类型或者非基本类型的字段,它们可能需要实现`toJSONString()`方法以适应JSON格式,或者换时需要手动编码这些特殊部分。另外,如果`json`不是一个有效的JSON字符串,`JSONObject.fromObject(json)`会失败。 具体操作步骤可能包括: 1. 检查`student`对象的属性是否适合JSON格式。 2. 如果有自定义类型,确保它们实现了`toJSONString()`方法。 3. 如果`json`不是有效JSON,先使用`try-catch`块捕获异常并处理无效输入。 例如,如果你知道某个字段不应该出现在JSON中,可以在换之前移除它: ```java JSONObject cleanedJson = new JSONObject(); cleanedJson.putAll(JSONObject.fromObject(json).remove("non-json-field")); byte[] bytes = cleanJson.getBytes(JSONConfig.getSingleton().getEncoding()); // ...然后尝试反序列化 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值