fastjson @JSONField 的 deserializeUsing 针对某个属性的反序列化,仍然不起作用?

z18hc3ub  于 4个月前  发布在  其他
关注(0)|答案(4)|浏览(68)

使用的版本为1.2.49

vdgimpew

vdgimpew1#

能提供重现问题的testcase么?

gzszwxb4

gzszwxb42#

我也遇到了同样的问题。使用的版本为1.2.56 ;

@JSONField(deserializeUsing =TestFastJSONField.class )
	public void setPaperId(String paperId) {
		this.paperId = paperId;
	}

public class TestFastJSONField implements ObjectSerializer,ObjectDeserializer  {

	@Override
	public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features)
			throws IOException {
		 
		 String value = (String) object;
	        String text = value + "|---->";
	        serializer.write(text);
	}

	@Override
	public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
		String intValue = parser.parseObject(String.class);
		intValue =intValue +  "!____________________>";
	    return (T)intValue;
	}

	@Override
	public int getFastMatchToken() {
		return  JSONToken.LITERAL_INT;
	}
rr = JSON.parseObject(f, RequestResult.class);
		 System.out.println( JSON.toJSONString(rr));
ukqbszuj

ukqbszuj3#

请问是否是在非Spring环境么

von4xj4u

von4xj4u4#

时间太长了,不记得了。

相关问题