Serialización y deserialización, escritura y lectura de datos JSON

         La serialización es el proceso de convertir un objeto en un flujo de bytes para almacenamiento a largo plazo en la memoria, en una base de datos o en un archivo. Su objetivo principal es guardar el estado del objeto para su uso posterior cuando sea necesario. El proceso opuesto se llama deserialización.

         Para usar la serialización, necesitamos importar el espacio de nombres System.Runtime.Serialization.Formatters.Binary

void Start () {
		Write();
		Read();
    }
	
	void Write () {
		Persons p = new Persons(1001, "海涛");//将这个值传到下面的文件中
		string path = Application.dataPath + "/flie/haitao.txt";
		using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
		{
			try
			{
				BinaryFormatter bf=new BinaryFormatter();//格式化器
				bf.Serialize(fs, p);//序列化
			}
			catch(Exception e)
			{
				print(e.Message);
			}
			finally
			{
				fs.Close();
			}
		}
		
	}
	void Read()
	{
        string path = Application.dataPath + "/flie/haitao.txt";
		using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read))
		{
			try
			{
				BinaryFormatter bf = new BinaryFormatter();//格式化器
				Persons p = (Persons)bf.Deserialize(fs);//反序列话
				print(p.Id + "\t" + p.Name);
			}
			catch (Exception e)
			{
				print(e.Message);//打赢错误信息
			}
			finally
			{
				fs.Close();
			}
		}
	}

         JSON (Notación de objetos de JavaScript: Notación de objetos de JavaScript) es un formato de intercambio de datos liviano que es fácil de leer y escribir para los humanos. También es fácil para las máquinas analizar y generar.

         Al escribir un archivo JSON, debe escribir una clase y las propiedades no están encapsuladas

         Aquí uso un registro de inicio de sesión como ejemplo

      Esta es una clase de atributo  

using System;
//序列化类
[Serializable]
public class Users
{
    public string Id;
    public string Password;
    public Users()
    {

    }
    public Users(string id, string password)
    {
        Id = id;
        Password = password;
    }
}

operación de escritura

 public void Write()
    {
        string path = Application.dataPath + "/File/Users.txt";   
        Users u = new Users();
        u.Id = zhtext.text;
        u.Password = mmtext.text;
        string s = JsonUtility.ToJson(u) + "\n";//转换格式
        File.AppendAllText(path, s);
        print(s);      
    }

operación de lectura

    public void Rread()
    {
        string path=Application.dataPath + "/File/Users.txt";
        string[] s=File.ReadAllLines(path);
        for(int i=0;i<s.Length;i++)
        {
            Users u= JsonUtility.FromJson<Users>(s[i]);
            if(u.Id== zhtext.text&&u.Password== mmtext.text)
            {
                print("登入成功");
            }
            if(i==s.Length)
            {
                print("账号或者密码错误");
            }
        }
    }

Supongo que te gusta

Origin blog.csdn.net/Optimistic_lx/article/details/129504957
Recomendado
Clasificación