NewtonJson
前言
Newtonsoft.Json介绍
Netonsoft.Json 是一款 .NET 适用的 Json 插件,可以将 C# 中常用的数据类型序列化成 json 格式,使用时再反序列化对应的类型即可,包括 Dictionary、List 甚至 class 类都能很简单的进行序列化和反序列化,十分好用。
一、下载
- 进入官网( https://www.newtonsoft.com/json )点击 Download。
- 直接点击 Json 跳转到 github( https://github.com/JamesNK/Newtonsoft.Json/releases ) 。
- 跳转到 github 后可选择下载 dll(第一个zip) 或者源码。
二、导入项目
在 u3d 工程中创建文件夹 Plugins ,将下载的 zip 中 Bin/netXX/Newtonsoft.Json.dll 以及 .xml 文件拖到 u3d 工程 Plugins 中,其中 xml 为注释,可拖可不拖,反正官网有文档和小例子。
附:
- 官方文档:https://www.newtonsoft.com/json/help/html/Introduction.htm
- 小例子:https://www.newtonsoft.com/json/help/html/Samples.htm
三、使用
使用前首先引用 using Newtonsoft.Json
简单举一个含有Dictionary 的 model 小例子
using System.IO;
using UnityEngine;
using UnityEditor;
// 别忘了引入,或直接使用,用快捷键补齐
using Newtonsoft.Json;
using System.Collections.Generic;public class TestJson
{[MenuItem("Tools/Model2Json", false, 923)] public static void Model2Json() { // 初始化一个测试数据 VersionInfo versionInfo = new VersionInfo(); versionInfo.versionId = "1.0.2"; versionInfo.nameAndMd5.Add("human", "403fd551fa2515e262e34d373a6f9b6e"); versionInfo.nameAndMd5.Add("animal", "af57576da81d5d3ce45807ac11234de6"); versionInfo.nameAndMd5.Add("plant", "efd6aa8633c36b26e8b25e703db396ba"); // 序列化 string json = JsonConvert.SerializeObject(versionInfo); Debug.Log("JsonStr : " + json); // 反序列化 VersionInfo deserializeVersionInfo = JsonConvert.DeserializeObject<VersionInfo>(json); Debug.Log("versionId : " + deserializeVersionInfo.versionId); Debug.Log("human's MD5 : " + deserializeVersionInfo.nameAndMd5["human"]); // 输出 json 文件 string jsonPath = "Assets/product.json"; // 写入文件 File.WriteAllText(jsonPath, JsonConvert.SerializeObject(versionInfo)); // 读文件 string tmpFile = File.ReadAllText(jsonPath); // 此处可 反序列化为 model 供后续使用 Debug.Log("JsonStr : " + tmpFile); } public class VersionInfo { public string versionId; public Dictionary<string, string> nameAndMd5 = new Dictionary<string, string>(); }
}
测试结果:
to be continued…
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Tamsiree!
评论