Javaのジェネリクスとjsonファイルの作り方
Javaのジェネリクス(総称型)はC++でいうテンプレートらしいです。
これを使えばjson用のオブジェクトも楽に作れそう
import java.util.ArrayList; import java.util.List; public class MyJson<T> { public int num; public List<T> extras; MyJson() { this.num = -1; this.extras = new ArrayList<>(); } }
これを使うときはこんな感じにやればいいかな? jsonへのエンコードはjsonicを使っています。
public class MakeJson { public static void main(String[] args) { PrinterWriter out1 = new PrinterWriter(args[1]); PrinterWriter out2 = new PrinterWriter(args[2]); MyJson<String> obj1 = new MyJson<>(); MyJson<Map<String, String>> obj2 = new MyJson<>(); obj1.num = 1; List<String> extras1 = new ArrayList<>(); obj1.extras = extras1; obj2.num = 2; Map<String, String> extras2 = new Map<>(); obj2.extras = extras2; String string1 = JSON.encode(obj1, ou1, true); String string2 = JSON.encode(obj2, out2, true); out1.close(); out2.close(); } }