博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity Json 之三
阅读量:4921 次
发布时间:2019-06-11

本文共 2550 字,大约阅读时间需要 8 分钟。

今天在网上看到一个simplejson,直接调用这两个API就可以了,简单易用

string jsonstr = SimpleJson.SimpleJson.SerializeObject(json);

Debug.LogError(jsonstr);
TestJson test = SimpleJson.SimpleJson.DeserializeObject<TestJson>(jsonstr);

做了测试和JsonUtility.ToJson(json);几乎是一样的,但是JsonUtility.ToJson(json); 需要在每个类上加上[System.Serializable] 特性标签 ,并且只能用字段,不能用属性 ,都可以满足我们日常需求

using System.Collections;using System.Collections.Generic;using UnityEngine;[System.Serializable]public class TestJson{    [SerializeField] //经测试,加不加都可以    public string Name;    [SerializeField]    public Student[] stud;}[System.Serializable]public class Student{    [SerializeField]    public string School;    [SerializeField]    public Gender gender;}[System.Serializable]public class Gender{    [SerializeField]    public int age;    [SerializeField]    public List
list;}public class TestSimpliJson : MonoBehaviour{ // Use this for initialization void Start() { Tess(); } void Tess() { TestJson json = new TestJson(); json.Name = "飞天小猪"; json.stud = new Student[4]; for (int i = 0; i < json.stud.Length; i++) { json.stud[i] = new Student(); json.stud[i].School = "飞天小猪" + i; json.stud[i].gender = new Gender(); json.stud[i].gender.age = i; json.stud[i].gender.list = new List
(); for (int j = 0; j < i * i; j++) { json.stud[i].gender.list.Add(j); } } string jsonstr = SimpleJson.SimpleJson.SerializeObject(json); Debug.LogError(jsonstr); TestJson test = SimpleJson.SimpleJson.DeserializeObject
(jsonstr); string strJson = JsonUtility.ToJson(json); Debug.LogError(strJson); }}

 

两种方式,输出如下

{"Name":"飞天小猪","stud":[{"School":"飞天小猪0","gender":{"age":0,"list":[]}},{"School":"飞天小猪1","gender":{"age":1,"list":[0]}},{"School":"飞天小猪2","gender":{"age":2,"list":[0,1,2,3]}},{"School":"飞天小猪3","gender":{"age":3,"list":[0,1,2,3,4,5,6,7,8]}}]}

 

 不过如果不给list赋值,稍微有点不一样的地方

{"Name":"飞天小猪","stud":[{"School":"飞天小猪0","gender":{"age":0,"list":null}},{"School":"飞天小猪1","gender":{"age":1,"list":null}},{"School":"飞天小猪2","gender":{"age":2,"list":null}},{"School":"飞天小猪3","gender":{"age":3,"list":null}}]}

 

{"Name":"飞天小猪","stud":[{"School":"飞天小猪0","gender":{"age":0,"list":[]}},{"School":"飞天小猪1","gender":{"age":1,"list":[]}},{"School":"飞天小猪2","gender":{"age":2,"list":[]}},{"School":"飞天小猪3","gender":{"age":3,"list":[]}}]}

 

转载于:https://www.cnblogs.com/lzy575566/p/7954319.html

你可能感兴趣的文章
[洛谷P4092][HEOI2016/TJOI2016]树
查看>>
nginx配置比较杂乱的总结
查看>>
docker 真实---安装基本映像 (一)
查看>>
Boost.Asio c++ 网络编程翻译(26)
查看>>
Android自己定义组件系列【8】——面膜文字动画
查看>>
项目实施阶段该做好哪些方面的工作
查看>>
CFileDialog使用简单介绍
查看>>
实现全排列
查看>>
CNN中卷积过程中padding的使用
查看>>
Oracle trunc()函数,decode()函数,substr函数,GREATEST函数,java中substring函数的用法...
查看>>
Ubuntu(Linux) 下 unzip 命令使用详解
查看>>
php中使用array_slice将数组中的元素分类
查看>>
关于C#的partial修饰符
查看>>
哨兵元素的应用总结
查看>>
关于Request.PathInfo
查看>>
fiddler抓手机报文的配置指南
查看>>
Linux/CentOS下修改MAC地址
查看>>
Centos7下yum安装mongodb
查看>>
Vmware Tools is currently being installed on your system(转)
查看>>
Linux学习笔记(Ubuntu操作系统)之hadoop学习之路
查看>>