首页 >Unity3D频道 >【Unity杂文】 > Unity3D研究院之Json序列化字典
2017
04-15

Unity3D研究院之Json序列化字典

Unity自己的json序列化是不支持字典格式的。无意间发现了一个全新的json .net库,功能很强大,还支持序列化字典推荐给大家。

http://www.newtonsoft.com/json

点击下载,zip. 解压后,把bin/net20/Newtonsoft.Json.dll 拖入unity工程。

写下一段简单的序列化 反序列化json的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Newtonsoft.Json;

public class Test : MonoBehaviour {

	void Start()
	{

		Product product = new Product();
		product.dic ["字典key"] = "字典Value";
		product.name="我是雨松MOMO";
		string json = JsonConvert.SerializeObject(product);

		Product m = JsonConvert.DeserializeObject<Product>(json);

		Debug.Log (json);
		Debug.Log (m.name);
	}


	public class Product 
	{
		public string name;
		public Dictionary<string,string> dic=new Dictionary<string, string>();
	}

}

Snip20170415_1

用起来还是很方便的。支持复杂的嵌套,各种数据类型。大家可以去摸索。还有不用像unity那样每个序列话的对象还要写多一个[System.Serializable]标签。

这工具的缺点就是dll有点大。

欢迎大家一起测试~

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Unity3D研究院之Json序列化字典》有 8 条评论

  1. 胡瑾凡说:

    导进去后出现了这个元数据编译错误:
    error CS0009: Metadata file `G:\Unity Projects\TinyGame\Assets/Plugins/Newtonsoft.Json.dll’ does not contain valid metadata
    Compilation failed: 1 error(s), 0 warnings
    用的的Unity2017,请问大神知道该怎么解决吗?

  2. D3_WN说:

    问下, 你们IOS 打包这个能用吗?
    我用这个IOS 打包用不了,其他平台没事!

  3. L说:

    minijson小,就一个cs文件。就是没这个方便

  4. SNAKE说:

    json.net又大又慢,优点就是用起来爽..

  5. ice说:

    太大了,apk包大了0.9M。

留下一个回复

你的email不会被公开。 必填项已用 * 标注。