Skip to content

[BUG]json字符串中,数组元素后面带有注释时反序列化失败 #3547

@Silverthorn001

Description

@Silverthorn001

问题描述

简要描述您碰到的问题。

环境信息

请填写以下信息:

  • OS信息: Windows10 22H2
  • JDK信息: Openjdk 22
  • 版本信息:Fastjson2 2.0.57

重现步骤

字符串中数组元素有注释时反序列化失败
{
"a": [
"bbb",
"ccc", // 这里有注释
"ddd"
]
}

//可在此输入示例代码
    public static void main(String[] args) {
        String str =  "{\n" +
                "\t\"a\": [\n" +
                "\t\t\"bbb\",\n" +
                "\t\t\"ccc\", // 这里有注释\n" +
                "\t\t\"ddd\"\n" +
                "\t]\n" +
                "}";

        JSONObject jsonObject = JSON.parseObject(str);
        System.out.println(jsonObject.toString());
    }

### 期待的正确结果
可以正常反序列化


### 相关日志输出
"C:\Program Files\java\openjdk-22.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2025.1.1.1\lib\idea_rt.jar=49718" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath G:\develop\ideaWorkspace\MavenProject\ProjectOne\target\classes;C:\Users\Administrator\.m2\repository\com\alibaba\fastjson2\fastjson2\2.0.57\fastjson2-2.0.57.jar org.example.TestJson2
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "list" is null
	at com.alibaba.fastjson2.JSONReader.add(JSONReader.java:2795)
	at com.alibaba.fastjson2.JSONReader.readArray(JSONReader.java:2758)
	at com.alibaba.fastjson2.JSONReader.read(JSONReader.java:2218)
	at com.alibaba.fastjson2.JSON.parseObject(JSON.java:348)
	at org.example.TestJson2.main(TestJson2.java:16)

Process finished with exit code 1


#### 附加信息
fastjson2 2.0.52/2.0.54版本均有这个错误

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions