jsonファイルからstringを読み込み、UnityのUIに渡そうとしています。私が直面している問題は、文字列が常にnullで、私はJSONファイルのパスを見つけてそれを読んでいますが、文字列にアクセスしようとするとnullです。私はjsonを読む方法がわかりません。私は本当にこのすべての仕組みが分からない。私はJSON形式が新しく、私はそれを練習しようとしています。これが私の最初のアプローチです。私はユニティエンジンを使用している、と私は、JSONスクリプトからストリーミング資産Unity:JSONファイルから文字列を読み取ることができません
データの読み取りを使用してJSONファイルを読んでいる:私のUIテキスト
DataController = FindObjectOfType<ReadFromJson>();
_data = DataController.getCurrentRoundData();
myText.text = _data.TextToPass;
に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!!");
}
}
}
マネージャー
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であるが、モデルがData
を持って
DataHolderモデルを共有できますか? – mindOfAi
はいアップデートの質問を確認してください – Nanopl
あなたの質問にはそれほど多くのものが欠けています。あなたは読んでいるjsonファイルを投稿する必要があります。 'File.Exists'がtrueを返しますか? 'TextToPass'とは何ですか? Unityのここでのjsonの読み方を見ることができます(https://stackoverflow.com/questions/36239705/serialize-and-deserialize-json-and-json-array-in-unity/36244111#36244111)。 GameDataをJsonで保存したいようです。私はそのためのヘルパークラスを作った[ここ](http://stackoverflow.com/a/40966346/3785314)。 – Programmer