unity 解析json
时间: 2023-07-08 21:48:08 浏览: 110
要在 Unity 中解析 JSON,你可以使用 JsonUtility 类。这个类提供了几个静态方法来序列化和反序列化 JSON 数据。
以下是一个简单的示例,演示了如何使用 JsonUtility 反序列化 JSON 字符串:
```csharp
using UnityEngine;
using System;
[Serializable]
public class PlayerData
{
public string name;
public int level;
public float health;
}
public class JsonExample : MonoBehaviour
{
void Start()
{
string json = "{\"name\":\"John\",\"level\":10,\"health\":100.0}";
PlayerData player = JsonUtility.FromJson<PlayerData>(json);
Debug.Log("Name: " + player.name);
Debug.Log("Level: " + player.level);
Debug.Log("Health: " + player.health);
}
}
```
在上面的示例中,我们首先定义了一个包含三个公共字段的类:name、level 和 health。然后,在 JsonExample 类中,我们定义了一个名为 Start 的方法,在该方法中,我们创建了一个 JSON 字符串,然后使用 JsonUtility.FromJson 方法将其反序列化为 PlayerData 对象。最后,我们在控制台输出了 PlayerData 对象的字段值。
注意,我们在 PlayerData 类上添加了 Serializable 属性,这是必需的,因为 JsonUtility 类使用 Unity 的序列化系统来反序列化 JSON 数据。
如果您需要将 C# 对象序列化为 JSON 字符串,您可以使用 JsonUtility.ToJson 方法。以下是一个示例:
```csharp
PlayerData player = new PlayerData();
player.name = "John";
player.level = 10;
player.health = 100.0f;
string json = JsonUtility.ToJson(player);
Debug.Log(json);
```
在上面的示例中,我们创建了一个 PlayerData 对象,并将其序列化为 JSON 字符串,然后在控制台输出了该字符串。
希望这可以帮助你开始使用 JsonUtility 在 Unity 中解析 JSON 数据。
阅读全文