Android開発 虎の巻

JSON

■JSONとは?

JavaScript Object Notation。JavaScriptの表記を元にしたオブジェクト表記法。

■書き方

オブジェクトの例

{name:"田中",age:30}

配列の例

[10,20,30]

オブジェクト配列の例

[
	{name:"田中",age:30},
	{name:"鈴木",age:30},
	{name:"山本",age:30}
]

■JavaでのJSONの操作

■オブジェクトの表示例

	String json = "{name:\"田中\",age:30}";

	try{
		JSONObject obj = new JSONObject(json);
		String str = obj.getString("name");
		
		TextView tv = (TextView)findViewById(R.id.textView1);
		tv.setText(str);
	}
	catch (JSONException e) {
		Toast.makeText(this, "JSON エラー", Toast.LENGTH_LONG).show();
	}

■配列の表示例

	String json = "[10,20,30]";

	try{
		JSONArray array = new JSONArray(json);
		
		int count = array.length();

		String str = "";
		for (int i=0; i<count; i++){
			str += array.getString(i);
			str += ",";
		}

	    TextView tv = (TextView)findViewById(R.id.textView1);
		tv.setText(str);
	}
	catch (JSONException e) {
		Toast.makeText(this, "JSON エラー", Toast.LENGTH_LONG).show();
	}

■オブジェクト配列の表示例

	String json = "[{name:\"田中\",age:30},{name:\"鈴木\",age:30},{name:\"山本\",age:30}]";

	try{
		JSONArray array = new JSONArray(json);

		int count = array.length();

		String str = "";
		for (int i=0; i<count; i++){
			JSONObject obj = array.getJSONObject(i);
			str += obj.getString("name");
			str += ",";
		}

		TextView tv = (TextView)findViewById(R.id.textView1);
		tv.setText(str);
	}
	catch (JSONException e) {
		Toast.makeText(this, "JSON エラー", Toast.LENGTH_LONG).show();
	}

Android開発 虎の巻