最近 Unity 内で JSON 形式のデータファイルを取り込む方式を使い、前回から備忘も兼ねて簡単に使用法を解説しています。
具体的には Unityエディタ内に用意した Resourceフォルダから JSON形式ファイルを読み取る方法となります。
今回は Unity上で実際にシンプルな JSON形式の読み込みと、配列を使った JSON形式の読み込みの事例を取り上げ説明いたします。

【実例1:単純なJSON】
まず最も単純な以下のような JSONデータを読み込みます。
読込部分の C#プログラムは以下の様になります。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class MonsterData
{
public string ID;
public string Name;
public int HP;
public int MP;
}
public class import_JSON1 : MonoBehaviour
{
void Start()
{
string str_File = Resources.Load("MonsterData").ToString();
MonsterData json_File = JsonUtility.FromJson<MonsterData>(str_File);
Debug.Log(json_File.ID);
Debug.Log(json_File.Name);
Debug.Log(json_File.HP);
Debug.Log(json_File.MP);
}
} そして、JSONデータファイルは Unityエディタ上で Assetsフォルダ内に Resourcesフォルダを作成して そこに置いておきます。ファイル名は「MonsterData.json」です。

実行結果として、読み込まれた JSONデータが以下の様に個別に出力できています。

【実例2:配列使用のJSON】
もう少し複雑な形として、配列を使用した以下のような JSONデータを読み込みます。
読込部分の C#プログラムは以下の様になります。今回は読み込んだデータを全部表示するために foreach文を使います。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class Json_File
{
public MonsterInfo[] input_File;
}
[Serializable]
public class MonsterInfo
{
public string ID;
public string Name;
public int HP;
public int MP;
}
public class import_JSON2 : MonoBehaviour
{
void Start()
{
string str_File = Resources.Load("MonsterInfo").ToString();
Json_File json_File = JsonUtility.FromJson<Json_File>(str_File);
foreach (MonsterInfo tmp_Monster in json_File.input_File)
{
Debug.Log(tmp_Monster.ID);
Debug.Log(tmp_Monster.Name);
Debug.Log(tmp_Monster.HP);
Debug.Log(tmp_Monster.MP);
}
}
}
そして、JSONデータファイルは同じように Resourcesフォルダ内に置いておきます。ファイル名は「MonsterInfo.json」です。

実行結果として、読み込まれた JSONデータが以下の様に個別に出力できています。

2回に分けて Unityでの JSON形式データの取り込み方を説明しました。
実質そんなに使う機会はないですが、逆にそう言う場合はすぐにやり方を忘れてしまいます。今回の解説が多くの方の助けになれば幸いです。
実質そんなに使う機会はないですが、逆にそう言う場合はすぐにやり方を忘れてしまいます。今回の解説が多くの方の助けになれば幸いです。
Sponsored Link




E-Mail: