AndroidでJSONを解析する方法を徹底解説!初心者向けステップバイステップガイド
はじめに
この記事では、AndroidアプリでJSONデータを解析(パース)する方法を、実際のコード例とともにわかりやすく解説します。JSONはWeb APIなどで広く利用されているデータ形式であり、Android開発においてその扱い方をマスターすることは非常に重要です。
ステップ1:新規プロジェクトの作成
まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成しましょう。
ステップ2:レイアウトファイルの作成
次に、res/layout/activity_main.xmlに以下のコードを追加します。ここでは、従業員の名前と給与を画面に表示するための2つのTextViewを配置しています。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="Name"
android:textColor="#000"
android:textSize="20sp" />
<TextView
android:id="@+id/tvSalary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="80dp"
android:text="Salary"
android:textColor="#000"
android:textSize="20sp" />
</RelativeLayout>
ステップ3:MainActivity.javaの実装
src/MainActivity.javaに以下のコードを追加します。このコードでは、org.jsonパッケージに含まれるJSONObjectクラスを使用して、JSON文字列を解析しています。
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
String JSON_STRING="{\"employee\":{\"name\":\"John Smith\",\"salary\":65000}}";
String name, salary;
TextView employeeName, employeeSalary;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// TextViewへの参照を取得
employeeName=(TextView) findViewById(R.id.tvName);
employeeSalary=(TextView) findViewById(R.id.tvSalary);
try {
// JSON文字列からJSONObjectを生成
JSONObject obj=new JSONObject(JSON_STRING);
// 「employee」という名前のJSONObjectを取得
JSONObject employee=obj.getJSONObject("employee");
// 従業員の名前と給与を取得
name=employee.getString("name");
salary=employee.getString("salary");
// 取得した値をTextViewにセット
employeeName.setText("Name: "+name);
employeeSalary.setText("Salary: "+salary);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
コードのポイント
- JSONObjectの生成: JSON文字列をコンストラクタに渡すことで、JSONObjectインスタンスを作成できます。
- ネストされたオブジェクトの取得:
getJSONObject()メソッドを使えば、「employee」のように入れ子になったオブジェクトへアクセスできます。 - 値の取り出し:
getString()メソッドでキーに対応する文字列値を取得します。 - 例外処理: JSONの形式が不正な場合に備え、
JSONExceptionをtry-catchブロックで適切に処理することが重要です。
ステップ4:AndroidManifest.xmlの確認
manifests/AndroidManifest.xmlが以下のようになっていることを確認してください。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
アプリの実行
それでは、アプリケーションを実行してみましょう。ここでは、実際のAndroid端末をパソコンに接続しているものとします。Android Studioからアプリを実行するには、プロジェクト内のいずれかのアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。実行デバイスとして自分のモバイル端末を選択すると、端末に以下のような画面が表示されます。

まとめ
今回は、AndroidでJSONを解析する基本的な方法を紹介しました。org.jsonパッケージのJSONObjectクラスを使えば、追加ライブラリなしで手軽にJSONデータを処理できます。ただし、より複雑なJSON構造や大量のデータを扱う場合は、GsonやMoshiといった専用ライブラリの活用も検討するとよいでしょう。ぜひ本記事のコードを参考に、ご自身のプロジェクトでも試してみてください。
-
【Android】TextViewでテキストを両端揃え(ジャスティファイ)表示する方法
概要 本記事では、AndroidアプリのTextViewに表示するテキストを両端揃え(ジャスティファイ)にする方法を、サンプルコードとともにわかりやすく解説します。 TextViewで両端揃えを実現するには、android:justificationMode=inter_wordを指定するだけです。この機能はAndroid 8.0(APIレベル26)以降で有効になるため、それ以前のOSバージョンでは無視される点に注意してください。 手順1:新規プロジェクトを作成する まず、Android Studioを起動し、メニューから「File」⇒「New Project」を選択します。必要な項目をす
-
AndroidでJSON配列を反復処理する方法をステップごとに解説
この記事では、Androidアプリ開発においてJSON配列(JSONArray)を反復処理する方法を、実際のサンプルコードとともにステップ形式で解説します。org.jsonパッケージのJSONObjectとJSONArrayクラスを使用して、JSON文字列からデータを取り出し、画面に表示するまでの一連の流れを学べます。完成イメージ本チュートリアルでは、従業員情報(ID・名前・給与)を含むJSON文字列を解析し、各要素を順番に読み取ってTextViewに表示するシンプルなアプリを作成します。手順1:Android Studioで新規プロジェクトを作成するまず、Android Studioを起動し