欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > unity将多层嵌套的结构体与json字符串相互转化

unity将多层嵌套的结构体与json字符串相互转化

2025/9/23 2:46:39 来源:https://blog.csdn.net/lsyiwxy/article/details/142128650  浏览:    关键词:unity将多层嵌套的结构体与json字符串相互转化

定义多个结构体,将结构体内容输入到最终的JObject中,然后将其转为字符串打印出来,即可。
代码内容如下:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using UnityEngine;public class Test : MonoBehaviour
{private Apple apple;private Banana banana;private void Start(){apple = new Apple();apple.color = "red";apple.size = 10;apple.breed = "红富士";Monkey monkey = new Monkey();monkey.breed = "金丝猴";monkey.habitat = "高山密林";banana = new Banana();banana.breed = "芭蕉";banana.monkey = (JObject)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(monkey));JObject fruitJObject = new JObject();fruitJObject["Apple"] = (JObject)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(apple));fruitJObject["Banana"] = (JObject)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(banana));Debug.Log(fruitJObject.ToString());}
}/// <summary>
/// 苹果结构体
/// </summary>
struct Apple
{public string color;public int size;public string breed;
}/// <summary>
/// 香蕉结构体
/// </summary>
struct Banana
{public string breed;//!<品种public JObject monkey;//!<猴子
}/// <summary>
/// 猴子结构体
/// </summary>
struct Monkey
{public string breed;//!<品种public string habitat;//!<栖息地
}

运行结果如下:
在这里插入图片描述
将接收到的json字符串转为JObject类型,然后取出对应的值并打印出来,代码如下:

		string jsonStr = fruitJObject.ToString();JObject jsonJObject = (JObject)JsonConvert.DeserializeObject(jsonStr);Apple appleObject = JsonConvert.DeserializeObject<Apple>(JsonConvert.SerializeObject(jsonJObject["Apple"]));Debug.Log(appleObject.breed);

运行结果如下:
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词