java - Wie kann festgestellt werden, ob Null oder Leer zurückgegeben wird, wenn Spring JSON zurückgibt?
ringa_lee
ringa_lee 2017-06-14 10:51:24
0
3
927

Mit dem von Spring bereitgestellten @ResponseBody ist es sehr praktisch, das JSON-Objekt zurückzugeben.

Aber ein Problem besteht darin, dass es manchmal unmöglich ist zu bestimmen, ob @ResponseBody会返回empty("")还是null,题主大致观察了一下。好像对于java中的String不管是null还是"",最终通过json返回的都是"",而对于Object,都会返回null,而对于int型数据都会返回0 leer (") oder null zurückgibt. Der Fragesteller hat eine grobe Beobachtung gemacht. Es scheint, dass für String in Java, egal ob es null oder "" ist, letztendlich durch JSON "" zurückgegeben wird, während für Object , wird null zurückgegeben, und 0 wird für Daten vom Typ int zurückgegeben.

Ist die obige Schlussfolgerung richtig?

ringa_lee
ringa_lee

ringa_lee

Antworte allen(3)
阿神

这个跟你的pojo中的实例变量类型和使用的json库有关(json库可以设置对null如何处理)

phpcn_u1582

1.返回POJO时可以将业务数据封装,比如封装成JSONResult类,里面有code,msg,data其中data是业务数据(也就是POJO实例),code是状态码,msg是说明,这样当业务数据为空的时候,返回错误码就好,这样返回结果依然是json格式数据,方便接口调用者处理。

2.直接返回JSON格式数据,利用fastjson或者net.sf.json,直接返回JSONObject对象,将业务数据手动或者自动填入JSONObject对象中。

伊谢尔伦

如果使用的Jackon库的话可以再pojo上面注解@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL),这样的话如果某个属性值为null或者"",则序列化为json的时候不会包含key

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!