0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UnityJSON形式での保存と読込

Last updated at Posted at 2018-07-28

JsonUtilityを使ってJSON形式で保存するとき、悩みに悩んだため、初心者でもわかるように、書き込んで、それを読み取るサンプルプログラムを示しておきます。
自分自身も初心者なので一部間違いがあるかもしれませんが、参考になると嬉しいです。
###ソースコード

using System.Collections; //このコードでは必要とされていませんが、使う機会が多いので参照
using System.Collections.Generic; //このコードでは必要とされていませんが、使う機会が多いので参照
using UnityEngine; //いろいろなところで必要
using System; //JsonUtilityを扱うために必要
using System.IO; //ファイル読み書き用

[Serializable] //JSONWrite直列化
public class JSONWrite //クラスを定義
{
    public int posData; //変数を定義
}

public class JSONPacker : MonoBehaviour {
    private string DataPath; //ここに保存するパスが入ります
    private void Start()
    {
        DataPath = "保存したい場所/ファイル名.txt"; //変数を初期化するのには定数(決まった数)でなければいけないので、変数の定義が済んだ後に、データパスを代入します。
        JSONWrite DataIn = new JSONWrite(); //DataInに、JSONWriteクラスを入れる(たぶん違いますがそう考えるとわかりやすいです)
        DataIn.posData = 10; //JSONWriteのposDataを10に
        string SaveData = JsonUtility.ToJson(DataIn); //JSONWriteクラスをJsonに変換、string型SavaDataとして保管
        File.WriteAllText(DataPath, SaveData, System.Text.Encoding.UTF8); //DataPathに保管されているパスを指定しテキストとして保管
        Debug.Log(SaveData); //デバックログに結果を出力
        JSONWrite Uncode = JsonUtility.FromJson<JSONWrite>(File.ReadAllText(DataPath)); //DataPathに保管されているパスを指定しテキストを読み取り
        Debug.Log("Out" + Uncode.posData); //JSONをJSONWriteクラスに変換した結果を出力
    }
}

~~~
DataPathは自分の場合"C:/Asset/ProjectFile/Unity's/original_data.txt"のようにしました。
\\で指定するとエラーが出ると思います。
DataPathは保存したい場所に合わせて変えてください。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?