Unity3D load json to object
C# скрипт вешаем на EmptyObject в сцене. JSON файл должен быть по адресу /PathToGame/Assets/StreamingAssets/dialog_en.json в PC os (в android и iOS в другом месте).
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class GameManager : MonoBehaviour {
void Start () {
//read textdata from file
string fileName = "/stati/c_sharp/unity3d_load_json_to_object379/dialog_en.json";
string filePath = Path.Combine (Application.streamingAssetsPath, fileName);
if (File.Exists (filePath)) {
string dataStr = File.ReadAllText (filePath);
//parse
EventData ld = JsonUtility.FromJson (dataStr);
Debug.Log( ld.events[1].name );
} else
{
Debug.LogError ("Cannot load file!");
}
}
}
//array of events
[System.Serializable]
public class EventData
{
public EventItem[] events;
}
[System.Serializable]
public class EventItem
{
public string name;
public string value;
}
Строение json файла придется описать вручную, в примере выше это EventData. Unity не умеет грузить json и создавать объект для него на лету.