alibaba / alibaba/fastjson2

JSONObject.parseObject(param)SpringBoot环境运行一段时间开始报错

Open
#7,784 4 comments 0 reactions 1 assignee Claimed by @wenshao View on GitHub
bug
Dominant language
Java
Stars
4.4k
Forks
613
Avg merge
1d 22h
Merged PRs (30d)
6

Description

### 问题描述
*简要描述您碰到的问题。*
SpringBoot的web工程启动后,同一个方法,同一行代码JSONObject.parseObject(param)解析渠道参数正常,一段时间后,莫名其妙就一直报错,报错信息:
```
18:30:20.116 logback-paas-nlp [http-nio-8090-exec-8] INFO c.h.p.c.PythonController -[emotionType,140] - e98b55f9-fd15-4dfc-a5d5-ad70a56e2388进入情绪类型: {"entId":"ansteel","query":"部分付款失败,到账通知是负数。","sessionID":2142}
18:30:20.117 logback-paas-nlp [http-nio-8090-exec-8] ERROR c.h.p.c.PythonController -[emotionType,146] - 程序异常
com.alibaba.fastjson2.JSONException: offset 15, character e, line 1, column 15, fastjson-version 2.0.64 {"entId":"ansteel","query":"部分付款失败,到账通知是负数。","sessionID":2142}
at com.alibaba.fastjson2.JSONReader.read(JSONReader.java:3460)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:476)
at com.alibaba.fastjson2.JSONObject.parseObject(JSONObject.java:2212)
at com.hy.paas.controller.PythonController.emotionType(PythonController.java:143)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
```

### 环境信息
*请填写以下信息:*

- OS信息: CentOS7
- JDK信息: Openjdk 1.8.0_421
- 版本信息:Fastjson2 2.0.64

### 重现步骤
*如何操作可以重现该问题:*
复制日志里打印数据,无法复现

数据:{"entId":"ansteel","query":"部分付款失败,到账通知是负数。","sessionID":2142}
```java
@RequestMapping("emotionType")
public JSONObject emotionType(@RequestBody String param) {
String uuid = UUID.randomUUID().toString();
logger.info(uuid + "进入情绪类型: " + param);
JSONObject jsonObject = null;
try {
JSONObject json = JSONObject.parseObject(param);
jsonObject = pythonService.emotionType(json, uuid);
} catch (Exception e) {
logger.error("程序异常", e);
jsonObject = new JSONObject();
jsonObject.put("code", 500);
jsonObject.put("msg", "情绪识别失败");
}
logger.info(uuid + "离开情绪识别: " + jsonObject);
return jsonObject;
}
```

### 期待的正确结果
*对您期望发生的结果进行清晰简洁的描述。*
希望能一直正常执行,不要执行一段时间开始报错

### 相关日志输出
*请复制并粘贴任何相关的日志输出。*
系统刚启动,请求接口几次时正常,突然就开始报错,从报错看,json格式莫名其妙错乱了
```
JSONObject json = JSONObject.parseObject(param);
//中间对json执行了一堆操作
JSONObject.parseObject(json.toString())
```
异常日志补充:
```
com.alibaba.fastjson2.JSONException: offset 600, character :, line 1, column 600, fastjson-version 2.0.64 {"splitAnswer":2,"extData":{"IMAGE_LIST":[],"DOCUMENT_LIST":[],"refreshTopic":"2134"},"protocolId":"1","robotHashCode":"ntinuouscb1043d9904a5c89d27d5f8e","platformConnType":"1","userId":"2134","robotName":"智能客服","sessionId":"2134","channel":"web","enterpriseId":"2","receiverId":"3.3.0","appKey":"","sendTime":1786701392728,"type":"text","isNeedClearHistory":"0","query":"你叫什么名字","isQuestionQuery":"0","similarityScore":"0.78","recommendedScore":"0.3","domain":"7722663722","entId":"ansteel","messageId":1786701391022,"city":"未知城市","province":"未知省份","returnUrl":"答。","similarityScore":"0/ics-chaate":0,"timeoutCiveFromClientAnd","timeorver/fromNlp","logId":"ond":0,"0ad-4ea2-48e6-9ce1-5n":1,"tr9a2","skillGroupId":11,"productName":"tsbot","robotId":"17"}
at com.alibaba.fastjson2.JSONReader.read(JSONReader.java:3460)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:476)
at com.alibaba.fastjson2.JSONObject.parseObject(JSONObject.java:2212)
at com.hy.paas.controller.NlpController.searchCount(NlpController.java:962)
at com.hy.paas.controller.NlpController.lambda$query$0(NlpController.java:321)
at java.lang.Thread.run(Thread.java:750)
```

#### 附加信息
*如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。*

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.