Мой Код ссылается https://docs.unity3d.com/ScriptReference/JsonUtility.html
Внутри моего метода LoadJson () есть закомментированный оператор печати, показывающий определенное значение json, которое, я знаю, будет
x["Character0"]["Head"].ToString()
чтобы отобразить заголовок Value, я думаю, что моя проблема в типе возврата в методе
public static SaveCharacters CreateFromJSON(string jsonString)
Но я в недоумении с Json в C #, любая помощь будет полезна, я не нашел никаких полезных решений.
Файл Json
{
"Character0":{
"Head":"HeadCube",
"Neck":"NeckCube",
"Body":"BodyCube",
"Arms":"Sphere_Capsule_Arms",
"Legs":"Sphere_Capsule_Legs"
}
}
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
[System.Serializable]
public class SaveCharacters
{
private string json;
private string Head, Neck, Body, Arms, Legs;
private static SaveCharacters _Instance;
public static SaveCharacters Instance { get { return _Instance; } }
void Awake() {
if (_Instance != null)
{
_Instance = this;
}
}
// Start is called before the first frame update
public void starts()
{
LoadJson();
}
private void LoadJson()
{
using (StreamReader r = new StreamReader("Assets/JSON/CustomCharacters.json"))
{
json = r.ReadToEnd();
Debug.Log(json);
SaveCharacters x =CreateFromJSON(json);
//Debug.Log(x[""][""]);
}
}
public void Load(string savedData)
{
JsonUtility.FromJsonOverwrite(savedData, this);
}
public string SaveToString()
{
return JsonUtility.ToJson(this);
}
public static SaveCharacters CreateFromJSON(string jsonString)
{
return JsonUtility.FromJson<SaveCharacters>(jsonString);
}
}