/*Idem Metodo llenarPersonajesJson*/ private static void llenarNavesJSON() { var nave = ""; String jsonObjeto = ""; for (int i = 1; i < 5; i++) { WebClient wc = new WebClient(); var url = "https://swapi.co/api/starships/?page=" + i; nave = wc.DownloadString(url); JObject jo = JObject.Parse(nave); JToken token = (jo["results"] as JArray); int contador = 1; foreach (var item in token) { Nave m = new Nave(); m = JsonConvert.DeserializeObject <Nave>(item.ToString()); if (i < 4) { jsonObjeto += JsonConvert.SerializeObject(m) + ","; } else { if (contador < token.Count <JToken>()) { jsonObjeto += JsonConvert.SerializeObject(m) + ","; contador++; } else { jsonObjeto += JsonConvert.SerializeObject(m); } } } } jsonObjeto = "{\"Naves\":[" + jsonObjeto + "]}"; // jsonObjeto += JsonConvert.SerializeObject(listaPersonajes); System.IO.File.WriteAllText(obtenerRuta("Naves.json"), jsonObjeto); }
/*metodo para buscar una determinada nave*/ private void getNaveBuscada(String naveBuscada) { /*itero por las naves devueltas desde el json*/ foreach (Nave n in llc.getNaves()) { /*verifico que la nave que recorro tiene el mismo nombre que se recibio por parametro*/ if (naveBuscada == n.name) { /*guardo la nave que estoy recorriendo en la variable*/ nave = n; /*finalizo la iteracion de las naves*/ break; } } }
/*Idem getPersonajes()*/ public List <Nave> getNaves() { List <Nave> listadoNaves = new List <Nave>(); String rutaArchivoMundos = Config.obtenerRuta("Naves.json"); StreamReader sr = new StreamReader(rutaArchivoMundos); String json = sr.ReadToEnd(); JObject jo = JObject.Parse(json); JToken token = (jo["Naves"] as JArray); foreach (var item in token) { Nave nav = new Nave(); nav = JsonConvert.DeserializeObject <Nave>(item.ToString()); listadoNaves.Add(nav); } return(listadoNaves); }