[BUG]fastjson2 解析不了嵌套json 带有共享文件夹路径的反斜杠内容
- Dominant language
- Java
- Stars
- 4.4k
- Forks
- 613
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 6
Description
### 问题描述
*简要描述您碰到的问题。*
fastjson2 解析不了嵌套json 带有共享文件夹路径的反斜杠内容
### 环境信息
*请填写以下信息:*
- OS信息: [e.g.:CentOS 8.4.2105 4Core 3.10GHz 16 GB] window 10
- JDK信息: [e.g.:Openjdk 1.8.0_312] oracle jdk 1.8.0_40
- 版本信息:[e.g.:Fastjson2 2.x.x] fastjson2 2.0.60/fastjson 2.0.60
### 重现步骤
*如何操作可以重现该问题:*
1. 使用 `xxx.xxx` 方法
JSONObject requestData = JSON.parseObject(str)
3. 输入 `...` 数据
{"interactiveCode":"qqq","requestData":"{\"dd\":0,\"cc\":1,\"DB1.DBD52\":\"\\\\192.168.2.202\\aa\\bb\\sss\\cc\\NG\\dd.jpg\",\"aa\":\"dfghhfd\",\"DB1.DBX0.4\":\"true\",\"ff\":\"false\"}"}
5. 出现 `...` 错误```javaunclosed.str '\\O, offset 42, character \", line 1, column 42, fastjson-version 2.0.60 {\"dd\":0,\"cc\":1,\"DB1.DBD52\":\"\\\\192.168.2.202\\aa\\bb\\sss\\cc\\NG\\dd.jpg\",\"aa\":\"dfghhfd\",\"DB1.DBX0.4\":\"true\",\"ff\":\"false\"}
//可在此输入示例代码
```
com.alibaba.fastjson2.JSONException: unclosed.str '\O, offset 42, character ", line 1, column 42, fastjson-version 2.0.60 {\"dd\":0,\"cc\":1,\"DB1.DBD52\":\"\\\\192.168.2.202\\aa\\bb\\sss\\cc\\NG\\dd.jpg\",\"aa\":\"dfghhfd\",\"DB1.DBX0.4\":\"true\",\"ff\":\"false\"}
at com.alibaba.fastjson2.JSONReader.char1(JSONReader.java:1322)
at com.alibaba.fastjson2.JSONReaderUTF16.readString(JSONReaderUTF16.java:3078)
at com.alibaba.fastjson2.JSONReader.read(JSONReader.java:3518)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:419)
com.alibaba.fastjson2.JSONException: unclosed.str '\O, offset 42, character ", line 1, column 42, fastjson-version 2.0.60 {\"dd\":0,\"cc\":1,\"DB1.DBD52\":\"\\\\192.168.2.202\\aa\\bb\\sss\\cc\\NG\\dd.jpg\",\"aa\":\"dfghhfd\",\"DB1.DBX0.4\":\"true\",\"ff\":\"false\"}
at com.alibaba.fastjson2.JSONReader.char1(JSONReader.java:1322)
at com.alibaba.fastjson2.JSONReaderUTF16.readString(JSONReaderUTF16.java:3078)
at com.alibaba.fastjson2.JSONReader.read(JSONReader.java:3518)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:419)
### 期待的正确结果
*对您期望发生的结果进行清晰简洁的描述。*
### 相关日志输出
*请复制并粘贴任何相关的日志输出。*
#### 附加信息
*如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。*
Contributor guide
Research direction
Start by reproducing the nested JSON input with JSON.parseObject and inspect the reported path through JSON.java, JSONReader.java, and JSONReaderUTF16.java. Check how the backslashes in the shared-folder path are read, then verify that the supplied input parses without the reported JSONException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100