Cómo leer un archivo json desde local y almacenarlo en el diccionario
1. Primero importe la biblioteca de análisis Json;
II. Comience a escribir código;
[csharp] Ver. Texto sin formato
// Espacio de nombres
usando System.IO
usando System.Generic
usando System.IO < / p>
usando System.Generic
usando System.Collections.Generic
usando LitJson
[csharp] ver copia simple
// Declaración de variable relevante:
cadena estática privada mFolderName;
cadena estática privada mFileName
Diccionario estático privado
cadena estática privada Nombre de archivo {
obtener {
return Path.Combine(FolderName, mFileName
p>
}
}
cadena estática privada Nombre de carpeta {
obtener {
return Path.Combine (Application.persistentDataPath, mFolderName
}
}
}
}
[csharp] Ver copia pura
//Método de inicialización Si es necesario, sobrecargue el método de inicialización
public static void Init(string pFolderName, string pFileName) {
mFolderName = pFolderName
mFileName = pFileName
Dic_Value.Clear()
Leer()
}
} p>
[csharp] Copia pura de la vista
//Leer el archivo y cargar datos json en el diccionario
private static void Read() {
if(!Directory.Exists(FolderName)) {
Directory.CreateDirectory(FolderName) {
FileName.Clear(); >Dic_Value.Clear ();
Leer();
}CrearDirectorio(NombreDeCarpeta); /p>
if(File.Exists(FileName)) {
FileStream fs = new FileStream(FileName, FileMode.Open);
StreamReader sr = new StreamReade);
r(fs);
valores JsonData = JsonMapper.ToObject(sr.ReadToEnd());
foreach(var clave en valores. Claves) {
Dic_Value.Add(clave, valores[clave].ToString());
}
if(fs ! = null) {
fs. Cerrar( );
}
if(sr ! = nulo) {
sr.Close(); p>
}
}
}
[csharp] Ver copia pura
// Convertir datos del diccionario a json y guardar en archivo local
private static void Save() {
valores de cadena = JsonMapper.ToJson(Dic_Value);
Debug.Log(valores)
p>
if(!Directorio.Exists(NombreCarpeta) ){
Directorio.CrearDirectorio(NombreCarpeta)
}
;Archivo FileStream = nuevo FileStream (Nombre de archivo, FileMode.Create);
byte[] bts = System.Text.Encoding.UTF8.GetBytes(valores); Write(bts,0,bts. Longitud);
if(archivo! = nulo) {
archivo.Close(); >
}
}
}
En este punto, el método de guardado simple está básicamente completado.
3. Ejemplos de uso;
Tome la lectura y escritura de cadenas como ejemplo:
[csharp] ver copia simple
// OK Si el valor clave existe actualmente
public static bool HasKey(string pKey) {
return Dic_Value.ContainsKey(pKey);
}
[csharp] Ver copia pura
// Leer valor de cadena
cadena estática pública GetString(string pKey) {
if(HasKey(pKey) ) {
return Dic_Value[pKey];
} else {
return string.Ver copia pura
//Guardar valor de cadena
public static void SetString(string pKey, string pValue) {
if(HasKey(pKey)) {
Dic_Value[ pKey] = pValue < / p>
} else {
Dic_Value.Add(pKey, pValue
}
Guardar
; }