Maison  >  Questions et réponses  >  le corps du texte

java - Comment déterminer si null ou vide est renvoyé lorsque Spring renvoie JSON?

En utilisant le @ResponseBody fourni par spring, il est très pratique de renvoyer l'objet json.

Mais un problème est qu'il est parfois impossible de déterminer si @ResponseBody会返回empty("")还是null,题主大致观察了一下。好像对于java中的String不管是null还是"",最终通过json返回的都是"",而对于Object,都会返回null,而对于int型数据都会返回0 retournera vide("") ou null L'interrogateur a fait une observation approximative. Il semble que pour String en Java, qu'il soit null ou "", ce qui est finalement renvoyé via json est "", tandis que pour Object , il sera renvoyé null et 0 sera renvoyé pour les données de type int.

La conclusion ci-dessus est-elle correcte ?

ringa_leeringa_lee2658 Il y a quelques jours929

répondre à tous(3)je répondrai

  • 阿神

    阿神2017-06-14 10:53:24

    Ceci est lié au type de variable d'instance dans votre pojo et à la bibliothèque json utilisée (la bibliothèque json peut définir comment gérer null)

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-06-14 10:53:24

    1. Lorsque vous renvoyez POJO, vous pouvez encapsuler les données commerciales, par exemple dans la classe JSONResult, qui contient du code, des messages et des données. Les données sont les données commerciales (c'est-à-dire l'instance POJO), le code est le statut. code, et msg est la description. De cette façon, il peut être utilisé comme données métier. Lorsqu'il est vide, renvoyez simplement le code d'erreur, de sorte que le résultat renvoyé soit toujours des données au format json, ce qui est pratique pour l'appelant de l'interface. .

    2. Renvoyez directement les données au format JSON, utilisez fastjson ou net.sf.json pour renvoyer directement l'objet JSONObject et remplissez les données métier dans l'objet JSONObject manuellement ou automatiquement.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-14 10:53:24

    Si vous utilisez la bibliothèque Jackon, vous pouvez annoter @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) sur le pojo. Dans ce cas, si une certaine valeur d'attribut est nulle ou "", la clé ne sera pas incluse lors de la sérialisation dans. json

    répondre
    0
  • Annulerrépondre