1. 程式人生 > >解決一對多,多對一無限序列化報錯問題

解決一對多,多對一無限序列化報錯問題

一.原因

當一對多One引用了More的物件,而More又引用了One,相互引用造成無限迴圈序列化

二.解決方法

可以使用SerializerFeature自定義序列化格式

protected String toJsonString(Object object){
		SerializerFeature[] features = new SerializerFeature[]{
				SerializerFeature.DisableCircularReferenceDetect,
				SerializerFeature.WriteMapNullValue,
				SerializerFeature.WriteNullListAsEmpty,
				SerializerFeature.WriteNullStringAsEmpty,
				SerializerFeature.WriteDateUseDateFormat
				};
		JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
		String jsonStr = JSON.toJSONString(object,features);
		return jsonStr;
	}