赞
踩
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; //Hero类,里面有name、age两个变量 [Serializable] public class Hero { public string name; public int age; public Hero(string name,int age) { this.name = name; this.age = age; } } //Person类,里面有一个Hero[]数组,存放Hero类 类型的变量 [Serializable] public class Person { public Hero[] myHeroArray; } public class TestJson : MonoBehaviour { void Start() { Hero hero1 = new Hero("老师", 30); Hero hero2 = new Hero("学生", 18); Person person = new Person(); person.myHeroArray =new Hero[]{ hero1,hero2}; //生成Json string jsonStr=JsonUtility.ToJson(person); Debug.Log(jsonStr); //解析Json Person persons = JsonUtility.FromJson<Person>(jsonStr); foreach (Hero p in persons.myHeroArray) { Debug.Log(p.name); } } }
注意:
1、Unity里任意物体上添加的 TestJson脚本以外的,Hero和Person两个辅助解析的类,其上应该写序列化[Serializable] (随之TestJson脚本开头应引入System命名空间),且不能再继承MonoBehaviour。
2、Hero和Person两个类的实例化、Json的生成和解析应写在Start函数里(我第一次写时,把Start和Update函数删除了,直接写,导致出现了不明原因的错误)。
总结:
以上生成的Json文件是:
{“myHeroArray”:[{“name”:“老师”,“age”:30},{“name”:“学生”,“age”:18}]}
1、Json语句的基本格式如下
“变量名”:值
两组以上键值对,用逗号隔开
2、{}表示类,且类名不写出
[]表示数组
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。