class <T> ApiResponse<T>{ private T data; public T getData(){ return data; } public T setData(T data){ this. data=data; }
序列化后结果:
{data:{}}
如何显示正确的 T 类型内容,二不是 {}
T
{}
jvlzgdj91#
必须设置值才能正确显示,例如定义了 ApiResponse<Long>不setData的时候结果是{} 而不是{data:{}}setDate(123l);之后正常显示{"data":123}你所说的{"data":{}}结果应该是你定义了一个实例对象设置在data里面,但是实例属性又没有赋值,这种情况是正确的,因为对象本身就应该用{}表示。如果你类型内容的意思是显示对象字段的话,加上SerializerFeature.WRITE_MAP_NULL_FEATURES就可以了
ApiResponse<Long>
mnowg1ta2#
@GaodYang Thks
mitkmikd3#
@GaodYang 如果定义
ApiResponse<List<String>> response=new ApiResponse<List<String>>(); List<String> list=new ArrayList<String>(); list.add("a"); response.setData(list)
序列化后{data:{}}
3条答案
按热度按时间jvlzgdj91#
必须设置值才能正确显示,例如
定义了
ApiResponse<Long>
不setData的时候结果是{} 而不是{data:{}}
setDate(123l);之后正常显示{"data":123}
你所说的{"data":{}}结果应该是你定义了一个实例对象设置在data里面,但是实例属性又没有赋值,这种情况是正确的,因为对象本身就应该用{}表示。
如果你类型内容的意思是显示对象字段的话,加上SerializerFeature.WRITE_MAP_NULL_FEATURES就可以了
mnowg1ta2#
@GaodYang Thks
mitkmikd3#
@GaodYang 如果定义
序列化后{data:{}}