JavaのGsonライブラリで日付をフォーマットする方法|setDateFormat()の使い方
Gsonは、Googleが開発したJava向けのJSONライブラリです。Gsonを利用すると、JavaオブジェクトからJSON文字列を生成したり、その逆にJSONをJavaオブジェクトへ変換したりすることができます。
Gsonインスタンスを作成するには、まずGsonBuilderのインスタンスを生成し、create()メソッドを呼び出します。そして、Dateオブジェクトを任意の日付形式でシリアライズしたい場合は、setDateFormat()メソッドを使用します。このメソッドに日付パターンを渡すことで、Gsonは指定されたパターンに従ってDateオブジェクトをJSON文字列へ変換します。
構文
public GsonBuilder setDateFormat(java.lang.String pattern)
コード例
以下の例では、従業員情報を持つEmployeeクラスのオブジェクトをJSONに変換しています。setDateFormat("yyyy-MM-dd")を指定することで、入社日(doj)が「年-月-日」の形式で出力されます。
import java.util.Date;
import com.google.gson.*;
public class DateformatTest {
public static void main(String[] args) {
Employee emp = new Employee(115, "Surya", new Date(), 25000.00);
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
String result = gson.toJson(emp);
System.out.println(result);
}
}
// 従業員クラス
class Employee {
private int id;
private String name;
private Date doj;
private double salary;
public Employee(int id, String name, Date doj, double salary) {
this.id = id;
this.name = name;
this.doj = doj;
this.salary = salary;
}
}
実行結果
{"id":115,"name":"Surya","doj":"2019-09-26","salary":25000.0}
ポイント解説
- setDateFormat()に渡すパターンは、
java.text.SimpleDateFormatと同じ規則に従います。「yyyy」は西暦4桁、「MM」は月2桁、「dd」は日2桁を表します。 - setDateFormat()を呼び出さない場合、Dateオブジェクトはロケールに依存したデフォルトの形式でシリアライズされるため、意図しない形式になることがあります。
- 時刻も含めたい場合は、
setDateFormat("yyyy-MM-dd HH:mm:ss")のようにパターンを変更するだけで対応できます。
-
【Java】OpenCVライブラリを使って画像のコントラストを変更する方法
画像の明るさやコントラストの増減は、画像のピクセル値を変換することで実現できます。この変換は、次のような数式で表されます。g(i, j) = α ・ f(i, j) + βここで、各要素の意味は以下のとおりです。(i, j):ピクセルの位置(座標)α(ゲイン)と β(バイアス):変換のパラメータ一般に、ゲインパラメータ α が画像のコントラストを制御し、バイアスパラメータ β が画像の明るさを制御します。convertTo() メソッドについてorg.opencv.core.Mat クラスの convertTo() メソッドを使うと、指定した行列に対して必要な計算を実行し、画像のコントラストや
-
【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法
GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを