ニュース

Top  >   17. データ保存  >   Q, JSON保存はどんな時に使う?

Q, JSON保存はどんな時に使う?

2026/03/20

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

  • 複数項目をまとめて保存したいときは JSON 保存が分かりやすいです。
  • プレイヤー設定や進行状況を 1 つのまとまりとして扱えます。

原因 / 背景

  • PlayerPrefs は値ごとに保存しますが、JSON なら構造体やクラス単位で管理しやすくなります。
  • あとから項目が増えても整理しやすいのが利点です。

実装 / 手順

  1. 保存したいデータクラスを作ります。
  2. JsonUtility で JSON 文字列に変換します。
  3. ファイルへ保存し、起動時に読み戻します。

サンプルコード

using System.IO;
using UnityEngine;

[System.Serializable]
public class SaveData
{
    public string playerName;
    public int clearedStage;
    public float masterVolume;
}

public class JsonSaveExample : MonoBehaviour
{
    private string SavePath => Path.Combine(Application.persistentDataPath, "save.json");

    public void Save()
    {
        var data = new SaveData
        {
            playerName = "VR Academy",
            clearedStage = 3,
            masterVolume = 0.9f
        };

        string json = JsonUtility.ToJson(data, true);
        File.WriteAllText(SavePath, json);
        Debug.Log($"保存先: {SavePath}");
    }

    public SaveData Load()
    {
        if (!File.Exists(SavePath))
        {
            return new SaveData();
        }

        string json = File.ReadAllText(SavePath);
        return JsonUtility.FromJson<SaveData>(json);
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:PC,Android,iOS,Unity
関連キーワード:JSON,保存,JsonUtility

Level 1-2 向けバナー