using LitJson;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
///
/// 序列化和反序列化Json时 使用的是哪种方案
///
public enum JsonType
{
JsonUtlity,
LitJson,
}
///
/// Json数据管理类 主要用于进行 Json的序列化存储到硬盘 和 反序列化从硬盘中读取到内存中
///
public class JsonMgr
{
private static JsonMgr instance = new JsonMgr();
public static JsonMgr Instance => instance;
private JsonMgr() { }
//Json数据 序列化
public string SaveData(object data, JsonType type = JsonType.LitJson)
{
//序列化 得到Json字符串
string jsonStr = "";
switch (type)
{
case JsonType.JsonUtlity:
jsonStr = JsonUtility.ToJson(data);
break;
case JsonType.LitJson:
jsonStr = JsonMapper.ToJson(data);
break;
}
return jsonStr;
}
//Json数据 反序列化
public T LoadData(string jsonStr, JsonType type = JsonType.LitJson)
{
//数据对象
T data = default(T);
switch (type)
{
case JsonType.JsonUtlity:
data = JsonUtility.FromJson(jsonStr);
break;
case JsonType.LitJson:
data = JsonMapper.ToObject(jsonStr);
break;
}
return data;
}
}