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

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

using UnityEngine;
using UnityEditor;
using System.Collections;
using System;

public class NewBehaviourScript : MonoBehaviour
{
    void Start ()
    {
        MyObject myObject = new MyObject();
        myObject.name = "雨松MOMO";
        myObject.newOjbect = new MyNewObject(){level =100};

        string json = JsonUtility.ToJson(myObject);
        Debug.Log(json);

        myObject = JsonUtility.FromJson<MyObject>(json);
        Debug.Log(myObject.name +" " + myObject.newOjbect.level);

        JsonUtility.FromJsonOverwrite(json,myObject);
    }
}

[Serializable]
public class MyObject
{
    public string name;
    public     MyNewObject newOjbect;
 }
[Serializable]
public class MyNewObject
{
    public int level;
}

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

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

时间: 2024-11-10 13:19:46

《转》Unity3D研究院编辑器之5.3JSON的序列化的相关文章

Unity3D研究院编辑器之不实例化Prefab获取删除更新组件(十五)

http://www.xuanyusong.com/archives/3727 感谢楼下的牛逼回复更正一下,我表示我也是才知道.. 其实不需要实例化也能查找,你依然直接用GetComponentsInChildren<>(true),对传true即可...这样搞还很麻烦...唯一关注是能否把Missing的脚本序列化找出来?? 使用 GetComponentsInChildren<>(true) 可以直接把Project视图里的子对象找出来!!!! return; 代码是这样的 1

Unity3D研究院编辑器之重写Hierarchy的右键菜单

Hierarchy视图中选择一个游戏对象以后通过右键可以打开一个unity默认菜单,一般情况下都可以满足我们,但是我想真对某些特殊的游戏对象而展开特殊的菜单.如下图所示,比如这样: 代码: using UnityEngine; using UnityEditor; using System.Collections; public class MyHierarchyMenu { [MenuItem("Window/Test/yusong")] static void Test() { }

《转》Unity3D研究院编辑器之创建Lua脚本模板

Unity里能创建 c#脚本模板,但是如果我想创建Lua脚本模板怎么办呢?拓展一下编辑器吧. 设置一下Lua脚本的模板地址 :  Assets/Editor/Lua/Template/lua.lua using UnityEngine; using UnityEditor; using System; using System.IO; using System.Text; using UnityEditor.ProjectWindowCallback; using System.Text.Reg

Unity3D拓展编辑器之自动生成AnimatorController

很惭愧从事游戏开发三年半才开始记录,之前也有一些零散信息记录在有道云笔记里,但都不成体系.那就从现在开始吧! 最近项目刚出完demo,有些衔接的时间,花了一天时间写了一个方便美术同学操作的小工具.第一次写拓展编辑器,做好之后超级兴奋的说,哈哈~这个工具主要是根据某类人物的AnimatorController的模板,拷贝并将当前人物的动作自动赋值的过程,避免了手动拖拽动作操作的繁杂和失误.比如,monster一般可以共用AnimatorController的layer信息,只是各个state中的m

Unity3D研究院之IOS全自动编辑framework、plist、oc代码

Unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了..而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生成的oc代码,每次打包都要修改的话,那太累了..这篇文章就是全自动打包的第一步..建议使用XUPorter,我在它的基础上拓展了两个类,一个用来修改plist,一个用来修改unity生成出来的OC代码.文章的最后我会给出代码.. 那么我用一个比较变态的SDK举个例子ShareSDK,它就需要自动添加

Unity3D研究院之IOS全自动打包生成ipa

接着上一篇文章, 自动生成framework,这篇文章我把shell自动化打包ipa整理了一下,希望大家喜欢,嘿嘿.. 建议大家先看一下上一篇文章.http://www.xuanyusong.com/archives/2720 首先我们要先搞清楚nity全自动打包的重要步骤. 1.自动生成xcode工程. 2.自动生成.ipa和dsym文件. 3.上传appstore(本篇略) 首先我们在做渠道包时,一般每个渠道都有自己一些特殊的需求,比如 游戏名子 .游戏图标.SDK.等等.那么我在在做自动化

(转)Unity3D研究院之将场景导出XML或JSON或二进制并且解析还原场景

自:http://www.xuanyusong.com/archives/1919 导出Unity场景的所有游戏对象信息,一种是XML一种是JSON.本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平移与Prefab的名称导出在XML与JSON中.然后解析刚刚导出的XML或JSON通过脚本把导出的游戏场景还原.在Unity官网上下载随便下载一个demo Project,如下图所示这是我刚刚在官网上下载的一个范例程序.           接着将层次视图中的所有游戏对象都封装成Prefab保存在资

Unity3D研究院之Jenkins的使用(七十八)

长夜漫漫无心睡眠,来一篇嘿嘿.我相信如果已经用Shell脚本完成IOS和Android打包的朋友一定需要Jenkins 怎么才能让策划打包ipa和apk?怎么才能彻底省去程序的时间,只要在同一局域网内不需要unity的开发环境,只要它有浏览器,它就能打包Jenkins无疑是最佳选择. Unity3D研究院之IOS全自动编辑framework.plist.oc代码(六十七) Unity3D研究院之IOS全自动打包生成ipa(六十八) Unity3D研究院之Android全自动打包生成apk(六十九

Ubuntu学习小结(二)PostgreSQL的使用,进程的查看关闭,编辑器之神Vim入门

距离上次发布文章已经过去了很久.在过去的半年中,虽然写的代码不多,但是在接触了计算机一些其他的知识,包括数据库.网络之后,感觉能够融会贯通,写代码水平又有了一定的提高.接下来,将会发表几篇文章,简单介绍一下我所了解的一点技术. 1.PostgreSQL的安装和使用 PostgreSQL是一个非常好用的开源免费数据库,功能强大,尤其对于GIS从业人员而言,其与PostGIS搭配可以有极强的空间数据库功能. 其官方网站:https://www.postgresql.org/ 官方帮助:https:/