JSONでやりとりは便利だよねー。
Jacksonを使って、リストのオブジェクトをJSONに変換するサンプル
3件の都道府県リストを持ったListのオブジェクトから、JSONへ変換して、標準出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTest3 { public static void main(String[] args) { PrefList prefList = new PrefList(); List<Pref> list = new ArrayList<Pref>(); list.add(new Pref("001","北海道","ほっかいどう")); list.add(new Pref("002","青森県","あおもりけん")); list.add(new Pref("003","岩手県","いわてけん")); prefList.setPrefList(list); ObjectMapper mapper = new ObjectMapper(); try { String json = mapper.writeValueAsString(prefList); System.out.println(json); } catch (JsonProcessingException e) { e.printStackTrace(); } } } class PrefList{ private List<Pref> prefList; public List<Pref> getPrefList() { return prefList; } public void setPrefList(List<Pref> prefList) { this.prefList = prefList; } } class Pref{ private String code; private String name; private String kana; public Pref() { } public Pref(String code,String name,String kana) { this.code = code; this.name = name; this.kana = kana; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getKana() { return kana; } public void setKana(String kana) { this.kana = kana; } } |
実行結果
3件の都道府県リストを持ったJSON形式のデータが標準出力されます。
1 | {"prefList":[{"code":"001","name":"北海道","kana":"ほっかいどう"},{"code":"002","name":"青森県","kana":"あおもりけん"},{"code":"003","name":"岩手県","kana":"いわてけん"}]} |
サンプルの解説
今回はJSONへの変換でした。
JSONへの変換なら、手動でもそんなに難しいものではないですが、あるものは使った方が良いかな。ってことで。
ObjectMapper#writeValueAsString(Object)で、JSON形式の文字列を簡単に取得できます。お手軽ですね。
※このコードを使用するには、別途Jacksonの入手が必要です。
入手方法などは前回の記事に書いてありますので、こちらからどうぞ。