数据持久化之Json

 

简单理解:Json是一种文件类型,对应txt。txt里面的 数据是string类型的,而jason里面的类型使我们自定义的类型,存入的时候也是我们自定义类型存入。

json的操作有两种,一种是unity自带的库JsonUtility,另外一种是litJson。

第一种:JsonUtility

[Serializable]//证明要进行序列化

    public class Person

{

    public string name;

    public int age;

}

[Serializable]//证明要进行序列化

public class Persons

{

    public Person[] persons;

}

public class jason : MonoBehaviour {

void Start () {

        Person p1 = new Person();

        p1.name = "小明";

        p1.age = 25;

        //转成jason字符串

        string jso = JsonUtility.ToJson(p1);

        Person p2 = new Person();

        p2.name = "小红";

        p2.age = 6;

        Person[] jos = new Person[] { p1, p2 };

        Persons persons = new Persons();

        persons.person = jos;

        jso = JsonUtility.ToJson(persons);

        //解析json

        Persons newpersons= JsonUtility.FromJson<Persons>(jso);//<里面是类型>(是要解析的变量,文件)

}

}

第二种用litjson库

            //使用jsonMapper去解析json文本,基本和上面一样

            JsonData jsonData = JsonMapper.ToObject(File.ReadAllText("json.txt"));

            foreach (JsonData temp in jsonData)//在这里temp代表一个对象

            {

            //在这里面就可以遍历里面的信息了

            }

           //使用泛型去解析json

            //json里面对象的键必须跟定义的类里面的字段或者属性保持一致

           //存进去是什么类型取出来就要是什么

          List<Skill>skillList=JsonMapper.ToObject<List<Skill>>(File.ReadAllText("json.txt"));

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zero游戏开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值