/*Idem Metodo llenarPersonajesJson*/ private static void llenarMundosJSON() { var mundo = ""; String jsonObjeto = ""; for (int i = 1; i < 8; i++) { WebClient wc = new WebClient(); var url = "https://swapi.co/api/planets/?page=" + i; mundo = wc.DownloadString(url); JObject jo = JObject.Parse(mundo); JToken token = (jo["results"] as JArray); int contador = 1; foreach (var item in token) { Mundo m = new Mundo(); m = JsonConvert.DeserializeObject <Mundo>(item.ToString()); if (i < 7) { jsonObjeto += JsonConvert.SerializeObject(m) + ","; } else { if (contador < token.Count <JToken>()) { jsonObjeto += JsonConvert.SerializeObject(m) + ","; contador++; } else { jsonObjeto += JsonConvert.SerializeObject(m); } } } } jsonObjeto = "{\"Mundos\":[" + jsonObjeto + "]}"; // jsonObjeto += JsonConvert.SerializeObject(listaPersonajes); System.IO.File.WriteAllText(obtenerRuta("Mundos.json"), jsonObjeto); }
/*busco el mundo seleccionado*/ private void getMundoBuscado(String nombreMundo) { /*itero en el array devuelto desde el archivo json*/ foreach (Mundo m in llc.getMundos()) { /*verifico si el nombre del mundo buscado concuerda con el mundo que recorro*/ if (nombreMundo == m.name) { /*lleno el objeto con el mundo encontrado*/ mundo = m; /*termino la iteracion*/ break; } } }
/*Idem getPersonajes()*/ public List <Mundo> getMundos() { List <Mundo> listaMundos = new List <Mundo>(); String rutaArchivoMundos = Config.obtenerRuta("Mundos.json"); StreamReader sr = new StreamReader(rutaArchivoMundos); String json = sr.ReadToEnd(); JObject jo = JObject.Parse(json); JToken token = (jo["Mundos"] as JArray); foreach (var item in token) { Mundo mun = new Mundo(); mun = JsonConvert.DeserializeObject <Mundo>(item.ToString()); listaMundos.Add(mun); } return(listaMundos); }