2025/8/12 15:42:57
关键词:Json解析 C# unity
使用准备
//JsonUtility对象要求先定义Json对象如下:
[Serializable]
public class PlayerData
{
//支持int、float、double、decimal、long、Vector、Quateration数据类型
//支持 public 访问类型的类、字段 //支持 SerializeField 特性指引的类、字段
public string user,name;
public int uid,财富,能级;
}
方法说明
FromJson(string text)
Json字符串转对象:将Json字符串(Json数据)文本转存至类中。
如:
PlayerData kk = JsonUtility.FromJson
PlayerPrefs.SetInt("财富",kk.财富); //保存某个数据到游戏
toJson(object target, bool prettyPrint)
对象转Json字符串:
如:public void Start() => Debug.Log(JsonUtility.ToJson(kk));
完整案例
using System;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class RootObject{public List
[Serializable]
public class Category
{public string name;public List
[Serializable]
public class Item
{public string id; public string description;}
public class JsonExample : MonoBehaviour
{
void Start()
{
string json = @"
{""categories"": [
{""姓名"": ""刘波"",
""items"": [{ ""id"": ""1"", ""品名"": ""Ape"" },{ ""id"": ""2"", ""品名"": ""Ban"" }]
},
{""姓名"": ""张凡"",
""items"": [{ ""id"": ""3"", ""品名"": ""Rot"" },{ ""id"": ""4"", ""品名"": ""Col"" }]
}
]}";
//将JSON字符串转为对象
RootObject root = JsonUtility.FromJson
//访问嵌套数据
foreach (var category in root.categories)
{
Debug.Log($"Category: {category.name}");
foreach (var item in category.items)
{
Debug.Log($"Item ID: {item.id}, Description: {item.description}");
}
}
//将对象序列化回JSON字符串
string serializedJson = JsonUtility.ToJson(root, true);
Debug.Log(serializedJson);
}
}
相关文章(向右看)..