using System; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; namespace MuHua { /// json解析与保存 public static class JsonTool { /// 内部包装类 private class Pack { public T data; } /// 把对象转换为Json字符串 /// 对象 public static string ToJson(T obj) { if (obj == null) return "null"; if (obj.GetType().GetInterface("IList") != null) { Pack pack = new Pack(); pack.data = obj; string json = JsonUtility.ToJson(pack); return json.Substring(8, json.Length - 9); } return JsonUtility.ToJson(obj); } /// 解析Json /// 类型 /// Json字符串 public static T FromJson(string json) { if (json == "null" && typeof(T).IsClass) return default(T); if (typeof(T).GetInterface("IList") != null) { json = "{\"data\":{data}}".Replace("{data}", json); Pack Pack = JsonUtility.FromJson>(json); return Pack.data; } return JsonUtility.FromJson(json); } } }