JavaとC#でJSONを使う(3)
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2007-11-20
前回、「JavaとC#でJSONを使う(2)」で JSON 形式の文字列を作成してみましたが、今回は、Java と JSON 文字列を Bean でデータバインディングしてみたいと思います。
まずは、数値型と文字列型の 2 つの要素を持った Bean と、JSON 文字列から Bean を生成するプログラム、Bean から JSON 文字列を生成するプログラムを作成してみます。
[Bean] JsonSampleBean.java [Javaプログラム] JsonToBean.java BeanToJson.java ※Bean クラスっぽい名前になっちゃいましたが気にしないで下さい まずは、JSON 文字列から Bean を生成するパターンです。
import net.sf.json.JSONObject;
public class JsonToBean {
public static void main(String[] args) {
String json = "{\"word\":\"abcde\",\"number\":55}";
JSONObject jsonObject = JSONObject.fromObject(json);
System.out.println(jsonObject);
JsonSampleBean jsb = (JsonSampleBean)JSONObject.toBean(jsonObject, JsonSampleBean.class);
System.out.println("Number : " + jsb.getNumber());
System.out.println("Word : " + jsb.getWord());
}
}
[結果]
{"word":"abcde","number":55}
Number : 55
Word : abcde
次に、Bean オブジェクトから JSON 文字列を生成するパターンです。
import net.sf.json.JSONObject;
public class BeanToJson {
public static void main(String[] args) {
JsonSampleBean jsonSampleBean = new JsonSampleBean();
jsonSampleBean.setWord("abcde");
jsonSampleBean.setNumber(55);
JSONObject jsonObject = JSONObject.fromObject(jsonSampleBean);
System.out.println(jsonObject);
}
}
[結果]
{"word":"abcde","number":55}
最後に、使用した Bean です。
public class JsonSampleBean {
private int number;
private String word;
public JsonSampleBean() {
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
}
関連記事
上記の記事に関連する記事(最新の10件)です。


