/// <summary> /// Se encarga de leer un archivo json /// </summary> /// <param name="fileName">Corresponde a la ruta donde se encuentra el archivo json</param> /// <returns>Devuelve un stdClassCSharp con las propiedades del archivo json</returns> public static stdClassCSharp readJsonFile(string fileName = "") { stdClassCSharp fileJson = new stdClassCSharp(); if (File.Exists(fileName)) { StreamReader archivoJSON = new StreamReader(fileName, Encoding.UTF8, true); string textoJson = archivoJSON.ReadToEnd(); archivoJSON.Dispose(); archivoJSON.Close(); fileJson = (stdClassCSharp)JSON.JsonDecode(textoJson); } return(fileJson); }
protected static stdClassCSharp ParseObject(char[] json, ref int index, ref bool success) { stdClassCSharp stdccs = new stdClassCSharp(); JSON.NextToken(json, ref index); bool flag = false; while (!flag) { int num = JSON.LookAhead(json, index); if (num == 0) { success = false; return(null); } if (num == 6) { JSON.NextToken(json, ref index); } else { if (num == 2) { JSON.NextToken(json, ref index); return(stdccs); } string key = JSON.ParseString(json, ref index, ref success); if (!success) { success = false; return(null); } num = JSON.NextToken(json, ref index); if (num != 5) { success = false; return(null); } var value = JSON.ParseValue(json, ref index, ref success); if (!success) { success = false; return(null); } stdccs[key.ToString()] = value; } } return(stdccs); }
/// <summary> /// Se encarga de generar un archivo stdClass con los datos de los servicios /// </summary> /// <returns>stdClasCSharp con datos de los servicios rest predeterminados</returns> public static stdClassCSharp getFileServices() { stdClassCSharp archivoAmbiente = new stdClassCSharp(); if (File.Exists("C:\\SYS\\PROGS\\RESTJSONCONFIG.JSON")) { StreamReader archivoDeUsuarios = new StreamReader("C:\\SYS\\PROGS\\RESTJSONCONFIG.JSON", Encoding.UTF8, true); string textoJson = archivoDeUsuarios.ReadToEnd(); archivoDeUsuarios.Dispose(); archivoDeUsuarios.Close(); stdClassCSharp archivoRest = (stdClassCSharp)JSON.JsonDecode(textoJson); archivoAmbiente = archivoRest[archivoRest["ambiente"]]; archivoAmbiente["ambiente"] = archivoRest["ambiente"]; } return(archivoAmbiente); }
/// <summary> /// Método que se encarga de convertir un arreglo de json en parte para un HTTPRequest /// </summary> /// <param name="llave">Correpode al nombre de la llave utilizada</param> /// <param name="listaStd">Corresponde a la lista de stdclass</param> /// <returns></returns> private string convertirListaEnArregloHTTPString(string llave, stdClassCSharp listaStd) { StringBuilder sbJsonArray = new StringBuilder(""); try { int index = 0; foreach (stdClassCSharp stdActual in listaStd.toArray()) { sbJsonArray.Append(stdActual.getHTTPString(llave + "%5B" + index + "%5D")); sbJsonArray.Append("&"); index++; } sbJsonArray.Remove(sbJsonArray.Length - 1, 1); } catch { sbJsonArray.Clear(); sbJsonArray.Append(""); } return(sbJsonArray.ToString()); }
protected static stdClassCSharp ParseArray(char[] json, ref int index, ref bool success) { stdClassCSharp arrayList = new stdClassCSharp(true); JSON.NextToken(json, ref index); bool flag = false; int indiceArreglo = 0; while (!flag) { int num = JSON.LookAhead(json, index); if (num == 0) { success = false; return(null); } if (num == 6) { JSON.NextToken(json, ref index); } else { if (num == 4) { JSON.NextToken(json, ref index); break; } var value = JSON.ParseValue(json, ref index, ref success); if (!success) { return(null); } arrayList[indiceArreglo] = value; indiceArreglo++; } } return(arrayList); }