u3d+Litjson保存数据到安卓端

2023-08-24 13:31:59 浏览数 (1)

1保存数据

1.1得到json格式的字符串

代码语言:javascript复制
    public string GetJson(string ip,int port) 
    {   //得到Json格式字符串
        StringBuilder sb = new StringBuilder();
        JsonWriter writer = new JsonWriter(sb);
        writer.WriteObjectStart();
        writer.WritePropertyName("ip");   //里面有这些属性
        writer.Write(ip);
        writer.WritePropertyName("port");
        writer.Write(port);
        writer.WriteObjectEnd();    //字典结束
        return sb.ToString();  //返回Json格式的字符串
    }

这里把要保存的ip,port变量转换成json格式的字符串

1.2保存json格式的字符串到安卓机

代码语言:javascript复制
    public void SaveJsonString(string JsonString)    //保存Json格式字符串
    {
        string path = Application.persistentDataPath   "/JsonData.Json";
        if (File.Exists(path) == true)
        {
            File.Delete(path);
        }
        FileInfo file = new FileInfo(path);   //保存文件的路径
        StreamWriter writer = file.CreateText();   //用文本写入的方式
        writer.Write(JsonString);   //写入数据
        writer.Close();   //关闭写指针
        writer.Dispose();    //销毁写指针
    }

将上面的得到json字符串保存到安卓机文件存储目录

2读取数据

代码语言:javascript复制
public class IpPort
{
    public string ip = "";
    public int port = 0;
}

首先定义一个类,这个类包含json格式中的内容

2.1json数据转换成string

代码语言:javascript复制
    public string GetJsonString()     //从文件里面读取json数据
    { StreamReader reader = new StreamReader(Application.persistentDataPath   "/JsonData.Json");
        string jsonData = reader.ReadToEnd();
        reader.Close();
        reader.Dispose();
        return jsonData;
}

2.2JsonMapper.ToObject转换

代码语言:javascript复制
            private IpPort m_ipPort = new IpPort();
            string path = Application.persistentDataPath   "/JsonData.Json";
            if (File.Exists(path) == true)
            {
                string data = GetJsonString();
                m_ipPort = JsonMapper.ToObject<IpPort>(data);
            }

m_ipPort即为读取出来的数据

LitJson.dll下载 http://download.csdn.net/detail/luoyikun/9735242

0 人点赞