unity jsonutility.tojson()得到的数据能通过StreamWriter类写入到指定文件中吗?还是要借助binaryformatter
时间: 2023-06-20 12:04:01 浏览: 88
可以通过StreamWriter类将JsonUtility.ToJson()得到的数据写入到指定文件中。StreamWriter类是用于写入文本文件的,而JsonUtility.ToJson()返回的是Json字符串,也是文本格式。因此,可以使用StreamWriter类直接写入Json字符串到文件中。
以下是一个示例代码:
```csharp
using UnityEngine;
using System.IO;
public class JsonWriter : MonoBehaviour
{
[System.Serializable]
public class PlayerData
{
public string name;
public int level;
public float health;
}
void Start()
{
PlayerData player = new PlayerData();
player.name = "John";
player.level = 5;
player.health = 100.0f;
string jsonString = JsonUtility.ToJson(player);
// 创建一个文件流,将数据写入到文件中
using (StreamWriter streamWriter = File.CreateText(Application.dataPath + "/playerData.json"))
{
streamWriter.Write(jsonString);
}
}
}
```
在这个示例中,我们创建了一个PlayerData类,使用JsonUtility.ToJson()将其序列化为Json字符串,并使用StreamWriter类将其写入到文件中。注意,我们使用了File.CreateText()方法创建了一个新的文件流,这个方法会创建一个新的文件并打开它以供写入。如果文件已经存在,它将被覆盖。最后,我们调用StreamWriter.Write()方法写入Json字符串到文件中。
阅读全文