Json文本转对象
/// <summary>
/// 将路径文本文件加载为对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="path"></param>
/// <returns></returns>
public T LoadJsonStrToObj<T>(string path)
{
string jsonStr= File.ReadAllText(path);
return JsonStrToObj<T>(jsonStr);
}
使用:
string savePath = Path.Combine(Application.persistentDataPath,"File1","test.json");
//SystemDatas中包含List,double类型变量,以及一个数据类
SystemDatas systemDatas = LoadJsonStrToObj<SystemDatas>(savePath);
注意:
这里加载Json文本的时候可以加载float类型的数据,但是在生成Json文本文件的时候,类中不能包含float类型数据,否则会报错
(所以稳妥起见,float类型统统换成double类型)
对象转Json字符串并生成Json文件:
/// <summary>
/// 获取Json字符串
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="target"></param>
/// <returns></returns>
public string GetJsonString<T>(T target)
{
string jsonStr = JsonMapper.ToJson(target);
return jsonStr;
}
使用:
string savePath = Path.Combine(Application.persistentDataPath,"File1","test.json");
string jsonStr= GetJsonString(systemDatas);
File.WriteAllText(savePath,jsonStr);
注:存储的时候一定不能有double类型的数据