【Androidでデータやファイルと戯れる】JSONObjectをStringから作成する
JSONとはRFC 4627とRFC 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;
}
}