Serialização e desserialização, gravação e leitura de dados JSON

         A serialização é o processo de conversão de um objeto em um fluxo de bytes para armazenamento de longo prazo na memória, em um banco de dados ou em um arquivo. Seu principal objetivo é salvar o estado do objeto para uso posterior, quando necessário. O processo oposto é chamado de desserialização.

         Para usar a serialização, precisamos importar o namespace 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 (JavaScript Object Notation: JavaScript Object Notation) é um formato de troca de dados leve que é fácil para os humanos lerem e escreverem. Também é fácil para as máquinas analisar e gerar.

         Ao escrever um arquivo JSON, você precisa escrever uma classe e as propriedades não são encapsuladas

         Aqui utilizo um cadastro de login como exemplo

      Esta é uma classe 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;
    }
}

operação de gravação

 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);      
    }

operação de leitura

    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("账号或者密码错误");
            }
        }
    }

Acho que você gosta

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