JSONICの利用
Javaプログラムにおける JSONIC の利用については
http://y-sugasawa.blogspot.com/2010/06/jsonic.html
の記述が最も具体的だった.配列を含む場合の処理,setter/getter の書き方も参考になる.
JsonicTest.java
import java.io.FileReader; import java.util.List; import net.arnx.jsonic.JSON; public class JsonicTest { public static void main(String[] args){ //List へ渡す List list = (List)JSON.decode("[1, \"a\", {}, false]"); System.out.println(list); //JSONデータを文字列で与えた上で,Hogeクラスへ decode Hoge hoge = JSON.decode("{\"number\": 10, \"array\": [1, 2, 3]}", Hoge.class); System.out.println(hoge); //ファイルから JSON データの読み込み try { Hoge hoge2 = JSON.decode(new FileReader("hoge.txt"), Hoge.class); System.out.println(hoge2); } catch(Exception e){ System.err.println("Exception : " + e); } //文字列に JSON データが格納されている場合 // JSON オブジェクトを生成する場合,decode() でなく parse() を用いる String text = "{\"number\": 10, \"array\": [1, 2, 3]}"; JSON json = new JSON(); Hoge hoge3 = json.parse(text, Hoge.class); System.out.println(hoge3); } }
Hoge.java
import java.util.List; public class Hoge { private String number; private List array; public void setNumber(String number){ this.number = number; } public void setArray(List array){ this.array = array; } public String toString(){ String s; s = "number = " + number + "\n"; for(int i = 0; i < array.size(); i++){ s = s + "[" + i + "]" + array.get(i) + "\n"; } return s; } }