首页 > Unity3D频道 > 【Unity杂文】 > Unity3D研究院编辑器之5.3JSON的序列化
2015
11-20

Unity3D研究院编辑器之5.3JSON的序列化

Unity5.3 的一项新功能就是Json的序列化,支持嵌套使用,可以把json字符串转成对象,把对象转成json字符串。

目前我用的是测试版。 遗憾的是还不支持字典 还有 Hashtable

或者试试这个人的方法, http://kou-yeung.hatenablog.com/entry/2015/12/31/014611

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. Unity5.5.0b4,JsonUtility.FromJson方法貌似不支持中文。报错如下:ArgumentException: JSON parse error: Missing a comma or ‘}’ after an object member.UnityEngine.JsonUtility.FromJson[MyObject] (System.String json) (at C:/buildslave/unity/build/artifacts/generated/common/modules/JSONSerialize/JsonUtilityBindings.gen.cs:24)

  2. 请问一下,在一个序列化的类里使用了,[Serializable]public class Serialization : ISerializationCallbackReceiver作为这个类的一个属性,然而tojson方法并不能不这个属性变为json,这是unity toJsonapi的问题么,如何解决这个问题呢,

      • using System;using UnityEngine;public class JSONTest : MonoBehaviour{ void Start() { Person s1 = new Person(“张三”, 18, true); Person s2 = new Person(“李四”, 20, true); s1.Brother = s2; s1.SayHello(); s2.SayHello(); string strs1 = JsonUtility.ToJson(s1); print(strs1); Person s11 = JsonUtility.FromJson(strs1); s11.SayHello(); string strs2 = JsonUtility.ToJson(s2); print(strs2); Person s22 = JsonUtility.FromJson(strs2); s22.SayHello(); }}//必须加上,不然不会被序列化[Serializable]public class Person{ public string Name; public int Age; private bool Sex; public Person Brother; public Person(string name, int age, bool sex) { this.Name = name; this.Age = age; this.Sex = sex; } public void SayHello() { string sexstr = Sex ? “男生” : “女生”; if (Brother == null) { MonoBehaviour.print(“大家好,我是:” + Name + “,今年” + Age + “了。。。是一个” + sexstr + “,我没有哥哥/(ㄒoㄒ)/~~”); } else { MonoBehaviour.print(“大家好,我是:” + Name + “,今年” + Age + “了。。。是一个” + sexstr + “,我哥哥是” + Brother.Name + “。。”); } }}为什么这样写得不到正确结果了?

  3. http://paste.ubuntu.com/14278353/

    Unity5.3中的json似乎还不支持list

    JsonUtility输出
    {“name”:”老大”,”level”:10}
    dotnetJson输出
    {“name”:”老大”,”level”:10,”skillID”:[{“skillID”:1001,”desc”:”小身材”},{“skillID”:1002,”desc”:”大拳头”},null]}