【Androidでデータやファイルと戯れる】JSONObjectをStringから作成する

このエントリーを Google ブックマーク に追加
Pocket
[`yahoo` not found]

JSONとはRFC 4627RFC 7159で規定される構造化された文字列のことです。

AndroidでJSONを取り扱うにはorg.jsonパッケージを使用します。
今回は、JSONObjectをJSON文字列(String)から作成します。

JSONObject(String json)とは

JSONObjectにはStringを引数に持つコンストラクタがあります。
このコンストラクタはJSON文字列からJSONObjectを作成することができます。
しかし、渡したJSON文字列の構造がJSONの規定を守っていない場合はJSONExceptionが発生します。

JSONObject(String json)を使う

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        JSONObject jsonObject = createJSONFromString();
    }
    
    private JSONObject createJSONFromString() {
        String string = "{\"int array\":[100,200,300],\"boolean\":true,\"string\":\"string\",\"object\":{\"object_1\":1,\"object_3\":3,\"object_2\":2},\"null\":null,\"array\":[1,2,3],\"long\":18000305032230531,\"int\":100,\"double\":10.5}";
        JSONObject jsonObject = null;
        try {
            jsonObject = new JSONObject(string);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return jsonObject;
    }
}