unity 解析以下位于StreamingAssets文件夹内 {"data":[{"id":"01","name":"汉族"},{"id":"02","name":"蒙古族"}]}
时间: 2023-10-21 22:05:11 浏览: 147
这是一个 JSON 格式的数据,可以使用 Unity 内置的 JsonUtility 类来解析。具体步骤如下:
1. 读取 StreamingAssets 文件夹内的文件,可以使用 Application.streamingAssetsPath 获取 StreamingAssets 文件夹的路径,然后使用 StreamReader 读取文件内容。
2. 将读取到的字符串转换为对应的数据结构,可以定义一个类来表示这个 JSON 数据,例如:
```
[System.Serializable]
public class EthnicityData
{
public List<Ethnicity> data;
}
[System.Serializable]
public class Ethnicity
{
public string id;
public string name;
}
```
3. 使用 JsonUtility.FromJson 方法将字符串转换为 EthnicityData 类型的对象。
完整代码如下:
```
string filePath = Path.Combine(Application.streamingAssetsPath, "data.json");
string jsonString;
#if UNITY_EDITOR || UNITY_STANDALONE
jsonString = File.ReadAllText(filePath);
#elif UNITY_ANDROID
WWW reader = new WWW(filePath);
while (!reader.isDone) { }
jsonString = reader.text;
#endif
EthnicityData ethnicityData = JsonUtility.FromJson<EthnicityData>(jsonString);
foreach (Ethnicity ethnicity in ethnicityData.data)
{
Debug.Log("id: " + ethnicity.id + ", name: " + ethnicity.name);
}
```
阅读全文