fastjson2 Json串的节点为String,转换类的变量为其他类变量,转换出错,其他字段未正确解析,也未抛出异常。

gajydyqb  于 2022-12-31  发布在  其他
关注(0)|答案(2)|浏览(289)

问题描述

Json串的节点为String,转换类的变量为其他类变量,转换出错,其他字段未正确解析,也未抛出异常。

环境信息

  • JDK信息: [e.g.:corretto-1.8.0_342]
  • 版本信息:[e.g.:Fastjson2 2.0.10]

重现步骤

  1. 使用JSON.parseObject 方法
  2. 输入 "{"name":"张三","testExtData":"{}","age":18}" 数据
  3. 未出现异常,testExtData后面数据均丢失.Test(name=张三, age=null, testExtData=TestExtData(sex=null))
@Data
public class Test implements Serializable{

	String name;

	String age;

	/**
* 字段扩展 N
*/
	TestExtData testExtData;

}
@Data
public class TestExtData implements Serializable {
	String sex;
}

void testJson() {
		String json = "{\"name\":\"张三\",\"testExtData\":\"{}\",\"age\":18}";
		Test test = new Test();
		try {
			test = JSON.parseObject(json, Test.class);
		} catch (Exception e) {
			System.out.println(e);
		}
	}

期待的正确结果

Test(name=张三, age=18, testExtData=TestExtData(sex=null))

相关日志输出

未有异常输出

dgsult0t

dgsult0t1#

testExtData的类型输入不对哦

sg3maiej

sg3maiej2#

我知道输入类型不对啊。但是也不报错啊。

相关问题