alibaba / fastjson2

🚄 FASTJSON2 is a Java JSON library with excellent performance.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] JSONObject Cast Exception

Cooper-Zhong opened this issue · comments

问题描述

类似 #2520,出现JSONObject Cast Exception

环境信息

  • OS信息: [MacOS 12.7.4 M1 Pro 16 GB]
  • JDK信息: [Openjdk 17.0.6]
  • 版本信息:[Fastjson 2.0.49]

重现步骤

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPath;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class Issue1070Mutated_21 {

    @Test
    public void testExtract1Mutatedfj() {
        String raw = "[[{\"a\":1},{\"a\":2}],[{\"a\":3}]]";
        assertEquals("{\"a\":2}", ((JSONObject) JSONPath.extract(raw, "$[0][1]")).toJSONString());
    }   
}

期待的正确结果

正常转换

相关日志输出

java.lang.ClassCastException: class com.alibaba.fastjson2.JSONObject cannot be cast to class com.alibaba.fastjson.JSONObject (com.alibaba.fastjson2.JSONObject and com.alibaba.fastjson.JSONObject are in unnamed module of loader 'app')

https://oss.sonatype.org/content/repositories/snapshots/com/alibaba/fastjson2/fastjson2/2.0.50-SNAPSHOT/
这个问题我没重现,但我还是做了修复处理,请帮忙用2.0.50-SNAPSHOT版本在你本地验证下

Together with #2520 经验证无问题。辛苦温少