u3d+Litjson保存数据到安卓端

1保存数据

1.1得到json格式的字符串

    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格式的字符串
    }

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

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

    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读取数据

public class IpPort
{
    public string ip = "";
    public int port = 0;
}

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

2.1json数据转换成string

    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转换

            private IpPort m_ipPort = new IpPort();
            string path = Application.persistentDataPath + "/JsonData.Json";
            if (File.Exists(path) == true)
            {
                string data = GetJsonString();
                m_ipPort = JsonMapper.ToObject(data);
            }

m_ipPort即为读取出来的数据

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

你可能感兴趣的:(Unity3D实用技术笔记,Unity3d技术笔记)