ホーム DoRuby FastjsonのNULLの挙動設定
 

FastjsonのNULLの挙動設定

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

JavaのJSONライブラリにFastjsonというものがあります。 今回はこのFastjsonでレスポンスにnullが含まれる場合の挙動を設定する方法をご紹介します。

Fastjsonとは

まず、Fastjsonについて簡単にご説明します。
Fastjsonは、JavaのオブジェクトをJSON形式に変換したり、逆にJSONをJavaオブジェクトに変換できる、JSONライブラリです。

Fastjson – GitHub

Fastjsonはオープンソースのライブラリで、公開しているのは中国のB2Bマーケット運営で有名なアリババ。

以下の記事によると、他のJavaのJSONライブラリと比較しても高速に動作するようです。

Gson vs Genson vs Fastjson

使い方

では簡単にJavaオブジェクトをJSON形式に変換する方法をご説明します。
上記のGitHubのリンクからダウンロードするか、Mavenの場合はpom.xmlに以下のように記述してインストールします。

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.21</version>
</dependency>

そして、Javaのオブジェクトを渡してあげると、

JSON.toJSONString(hogeForm);

JSON形式で出力してくれます。簡単です。

{
   name: "hoge"
}

nullの挙動設定

では本題のnullの挙動設定です。
デフォルトでは name が null の場合、nameの要素自体が出力されません。

{
}

しかし、nullでも要素は表示しないといけない場合もあります。
そんな時、以下の引数を渡してあげます。

JSON.toJSONString(hogeForm, SerializerFeature.WriteMapNullValue);

すると、

{
   name: null
}

name要素がnullで表示されました。

最後に

上記のGitHubのWikiやIssueを見ると、他にも色々オプションがありそうです。
また機会があれば調べてみたいと思います。

記事を共有
モバイルバージョンを終了