unity嵌套字典转json
时间: 2023-06-29 15:20:46 浏览: 160
iOS数组和字典转JSON格式
在Unity中,嵌套字典可以通过JSON格式进行序列化和反序列化。下面是一个示例代码,演示了如何将一个嵌套字典转换为JSON格式:
```
using UnityEngine;
using System.Collections.Generic;
using System.IO;
public class DictionaryToJson : MonoBehaviour
{
void Start()
{
// 创建一个嵌套字典
Dictionary<string, Dictionary<string, object>> nestedDict = new Dictionary<string, Dictionary<string, object>>();
Dictionary<string, object> innerDict1 = new Dictionary<string, object>();
innerDict1.Add("key1", "value1");
innerDict1.Add("key2", 2);
Dictionary<string, object> innerDict2 = new Dictionary<string, object>();
innerDict2.Add("key3", "value3");
innerDict2.Add("key4", 4);
nestedDict.Add("innerDict1", innerDict1);
nestedDict.Add("innerDict2", innerDict2);
// 将嵌套字典转换为JSON格式
string json = JsonUtility.ToJson(nestedDict, true);
// 输出JSON格式的结果
Debug.Log(json);
// 将JSON格式的字符串反序列化为嵌套字典
Dictionary<string, Dictionary<string, object>> deserializedDict = JsonUtility.FromJson<Dictionary<string, Dictionary<string, object>>>(json);
// 输出反序列化后的结果
Debug.Log(deserializedDict["innerDict1"]["key1"]);
Debug.Log(deserializedDict["innerDict2"]["key4"]);
}
}
```
在上面的示例中,我们创建了一个嵌套字典`nestedDict`,其中包含两个子字典`innerDict1`和`innerDict2`。我们使用`JsonUtility.ToJson()`方法将嵌套字典转换为JSON格式的字符串,并设置了`true`参数,表示输出格式化后的JSON字符串。我们还使用`JsonUtility.FromJson()`方法将JSON格式的字符串反序列化为嵌套字典,并输出了反序列化后的结果。
注意,Unity的`JsonUtility`类只支持序列化和反序列化包含基本数据类型和数组的对象,如果要序列化和反序列化复杂的对象,可以使用第三方的JSON库,例如Json.NET。
阅读全文