Skip to content
This repository was archived by the owner on Oct 23, 2024. It is now read-only.
This repository was archived by the owner on Oct 23, 2024. It is now read-only.

Class[] 在Map之后会导致反序列化失败,json语法错误 #1945

@zfyq124

Description

@zfyq124

当一个类中有Map和Class[]时,整个类会反序列化失败。

	static class B implements Serializable {
		public Class[] clazz;
		public Map aInstance;
	}

	public static void main(String[] args) {
		B b = new B();
		b.clazz = new Class[]{String.class};
		b.aInstance = new HashMap();
		b.aInstance.put("test", "test");
		String s = JSON.toJSONString(b, WriteClassName);
		B a1 = JSON.parseObject(s, B.class);
	}

异常信息

Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, expect ,, actual string
	at com.alibaba.fastjson.parser.DefaultJSONParser.accept(DefaultJSONParser.java:1458)
	at com.alibaba.fastjson.serializer.MiscCodec.deserialze(MiscCodec.java:224)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:747)
	at com.alibaba.fastjson.serializer.ObjectArrayCodec.deserialze(ObjectArrayCodec.java:183)
	at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:86)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1078)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:773)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:271)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:267)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:661)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:365)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:269)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:488)
	at Test.main(Test.java:21)

测试版本是1.2.47

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions