unity读取、存储、修改json文件
时间: 2023-08-06 07:04:17 浏览: 203
Unity提供了一个JsonUtility类来读取、存储和修改Json文件。以下是一个示例代码:
```csharp
using UnityEngine;
using System.IO;
[System.Serializable]
public class MyData
{
public string name;
public int score;
}
public class JsonManager : MonoBehaviour
{
private string filePath;
void Start()
{
filePath = Application.persistentDataPath + "/data.json";
}
void SaveData()
{
MyData data = new MyData();
data.name = "Player";
data.score = 100;
string jsonData = JsonUtility.ToJson(data);
File.WriteAllText(filePath, jsonData);
}
void LoadData()
{
if (File.Exists(filePath))
{
string jsonData = File.ReadAllText(filePath);
MyData data = JsonUtility.FromJson<MyData>(jsonData);
Debug.Log("Name: " + data.name);
Debug.Log("Score: " + data.score);
}
else
{
Debug.Log("File not found: " + filePath);
}
}
void ModifyData()
{
if (File.Exists(filePath))
{
string jsonData = File.ReadAllText(filePath);
MyData data = JsonUtility.FromJson<MyData>(jsonData);
data.name = "NewName";
data.score = 200;
jsonData = JsonUtility.ToJson(data);
File.WriteAllText(filePath, jsonData);
}
else
{
Debug.Log("File not found: " + filePath);
}
}
}
```
在这个示例中,我们定义了一个MyData类来保存数据。我们使用JsonUtility.ToJson将数据转换为Json格式,并将其写入文件中。我们使用JsonUtility.FromJson将Json数据转换回MyData对象,并打印其属性。
如果需要修改数据,我们可以读取Json数据,将其转换为MyData对象,修改其属性,将其转换回Json数据,并将其写入文件中。
请注意,我们在Start方法中使用Application.persistentDataPath来获取可写入的路径,这样我们就可以在设备上保存数据。
阅读全文