JavaとC#でJSONを使う(3)

JavaとC#でJSONを使う(3)

JavaJavaとC#でJSONを使う(3)

前回、「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;
    }
}

最終更新日:

関連記事

人気記事

新着情報