我想從JSON文件中讀取字符串並將其傳遞給我的UI在Unity中的文本我面臨的問題是字符串始終爲空, m不知道爲什麼,現在我找到JSON文件路徑並閱讀它,但是當我嘗試訪問字符串時它是空的。我不確定如何閱讀json。我真的不明白這是如何工作的。我是JSON格式的新手,我正在嘗試練習它。這是我的第一個方法。我使用Unity引擎,和我讀使用流媒體資產統一:無法從JSON文件中讀取字符串
讀取數據從Json的腳本JSON文件:
using UnityEngine;
using System.IO;
public class ReadFromJson : MonoBehaviour {
private string _filePath = "myText.json";
Data dh;
string str;
void Start()
{
LoadGameData();
}
public Data getCurrentRoundData()
{
return dh;
}
private void LoadGameData()
{
string filePath = Path.Combine(Application.streamingAssetsPath, _filePath);
if (File.Exists(filePath))
{
string dataAsJSON = File.ReadAllText(filePath);
DataHolder loadedData = JsonUtility.FromJson<DataHolder>(dataAsJSON);
dh = loadedData.data;
str = loadedData.data.TextToPass;
Debug.Log("My Text is" + dh.TextToPass);
Debug.Log("Path Exist");
}
else
{
Debug.LogError("CANNOT LOAD GAME DATA!!");
}
}
}
經理的JSON數據適用於我的UI文本
DataController = FindObjectOfType<ReadFromJson>();
_data = DataController.getCurrentRoundData();
myText.text = _data.TextToPass;
DataHolder.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class DataHolder {
public Data data;
}
JSON文本
{"DataHolder":
{
"TextToPass":"I'm A Horse"
}
}
Data.cs
[System.Serializable]
public class Data {
public string TextToPass ;
}
我所得到的是TextToPass爲null
你能分享你的DataHolder模型嗎? – mindOfAi
是檢查更新問題 – Nanopl
您的問題缺乏這麼多的東西。你需要發佈你正在閱讀的json文件。 File.Exists是否返回true?什麼是「TextToPass」?你可以看到如何閱讀Unity中的json [here](https://stackoverflow.com/questions/36239705/serialize-and-deserialize-json-and-json-array-in-unity/36244111#36244111)。看起來你想用Json保存GameData。我爲[這裏](http://stackoverflow.com/a/40966346/3785314)做了一個幫助類。 – Programmer