【Androidでデータやファイルと戯れる】JSONArrayをJSONTokenerから作成する
JSONとはRFC 4627とRFC 7159で規定される構造化された文字列のことです。
AndroidでJSONを取り扱うにはorg.jsonパッケージを使用します。
今回は、JSONArrayをJSONTokenerから作成します。
JSONArray(JSONTokener readFrom)とは
JSONArrayにはJSONTokenerを引数に持つコンストラクタがあります。このコンストラクタはJSONTokenerインスタンスからJSONArrayを作成することができます。
しかし、渡したJSONTokenerインスタンスのカレントポジション以降の文字列がJSONの規定を守っていない場合はJSONExceptionが発生します。
JSONArray(JSONTokener readFrom)を使う
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
JSONArray jsonArray = createJSONArrayFromJSONTokener();
Log.d("JSONArray", "JSONArray: " + jsonArray.toString());
}
private JSONArray createJSONArrayFromJSONTokener() {
JSONArray jsonArray = null;
try {
String jsonString = "関係のない文字列" + "[200,20.5]";
JSONTokener jsonTokener = new JSONTokener(jsonString);
jsonTokener.skipTo('[');
jsonArray = new JSONArray(jsonTokener);
} catch (JSONException e) {
e.printStackTrace();
}
return jsonArray;
}
}