在Unity中解析和封装Json

转载请注明链接,谢谢:)


核心代码:

0.使用LitJson.dll

在Unity项目中载入LitJson.dll 下载

using LitJson;

1.制作一个类,用于储存和解析数据

public class UserData {
    public string id;
    public string loginId;
    public int userID;
    public double time; //不能使用float
}

2.保存数据

a.首先用LitJson把UserData转化为string
b.用StreamWrite写入本地
c.其中如果要用在iOS和Android设备,存储路径最好是用Application.persistentDataPath

private string tempPath = Application.persistentDataPath + "/temp.json";
public void SaveTempData()
{
    FileInfo fileInfo = new FileInfo(tempPath);
    //把类转换为Json格式的String
    string str = JsonMapper.ToJson(tempData);
    //写入本地
    StreamWriter sw = fileInfo.CreateText();
    sw.WriteLine(str);
    sw.Close();
    sw.Dispose();
}

3.解析Json为类

a.把一段json格式的字符串转换为类

public void LoadTempData(String tempString)
{
    FileInfo fileInfo = new FileInfo(tempPath);
    if (fileInfo.Exists){
        string tempString = File.ReadAllText(tempPath);
        tempData = JsonMapper.ToObject(tempString);
    }
}

4.解析Json为通用格式

a.使用JsonData作为数据通用格式
b.JsonData和HashTable很类似,读出的数据需要进行类型转换

JsonData js = JsonMapper.ToObject(www.text);
tempData.loginId = (string)js["id"];

你可能感兴趣的:(在Unity中解析和封装Json)