ホームページ  >  に質問  >  本文

java - Springがjsonを返すときにnullまたは空が返されるかどうかを判断するにはどうすればよいですか?

Spring が提供する @ResponseBody を使用すると、json オブジェクトを返すことができて非常に便利です。

しかし、問題の 1 つは、@ResponseBody が empty("") を返すか null を返すかを判断できない場合があるということです。質問者は大雑把な観察をしました。 Javaの文字列がnullであっても""であっても、jsonを通じて返される最終結果は""であるようですが、オブジェクトの場合はになります。 int型データの場合はnull0が返されます。

上記の結論は正しいでしょうか?

ringa_leeringa_lee2707日前966

全員に返信(3)返信します

  • 阿神

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

    これは、pojo のインスタンス変数の型と使用される JSON ライブラリに関連します (JSON ライブラリは null の処理方法を設定できます)

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-14 10:53:24

    1. POJO を返すとき、コード、メッセージ、データを含む JSONResult クラスにカプセル化するなど、ビジネス データをカプセル化できます。データはビジネス データ (つまり、POJO インスタンス)、コードはステータスです。コード、msg は説明です。このように、空の場合はエラー コードを返すだけで、返される結果はインターフェイスの呼び出し元が処理するのに便利な json 形式のデータとして使用できます。 。

    2. JSON 形式のデータを直接返します。fastjson または net.sf.json を使用して JSONObject オブジェクトを直接返し、JSONObject オブジェクトにビジネス データを手動または自動で入力します。

    返事
    0
  • 伊谢尔伦

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

    Jackon ライブラリを使用する場合、pojo に @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) アノテーションを付けることができます。この場合、特定の属性値が null または "" の場合、シリアル化するときにキーは含まれません。ジェソン

    返事
    0
  • キャンセル返事