Ver la Versión Completa : [ CONSULTA ] Parser
Merche300
08/10/15, 23:55:45
Alguien me podria hacer el favor de darme alguna pista de como parsear este .php, puesto que no tengo ni la mas remota idea, si empezara con una llave, si pero asi no. A proposito se cada dato lo que es. Gracias.
http://cadetes.esy.es/conexion/jornadas/clasificacion.php
kriogeN
09/10/15, 00:02:39
Es un JSONArray que cada elemento contiene a otro JSONArray, la peor forma del mundo de serializar datos, salvo que sea para un uso completamente interno y se sepa al 300% que no va a variar y siempre se usan esos datos.
Merche300
09/10/15, 10:02:39
Es un JSONArray que cada elemento contiene a otro JSONArray, la peor forma del mundo de serializar datos, salvo que sea para un uso completamente interno y se sepa al 300% que no va a variar y siempre se usan esos datos.
Si, pero como hacerlo desde cero? algun tuto o ejemplo?
kriogeN
09/10/15, 11:52:53
Yo es que los parseos de JSON los hago todos con GSON, pero creo que GSON necesita que los campos estén etiquetados.
De todas formas tutoriales de JSON tienes a millares, básicamente es ir descendiendo por la jerarquía usando las funciones de JSON.
Merche300
03/01/16, 11:53:45
Buenos días, otra pregunta, todo me funciona correctamente recojiendo tan solo los valores de un array, pero al recojer los datos de los dos que es lo que quiero,me faltan datos, como puedo hacerlo para tenerlosen el mismo activity:
public class AsyncTaskNewsParseJson extends AsyncTask<String, String, String> {
override
protected void onPreExecute() {
}
// get JSON Object
override
protected String doInBackground(String... url) {
urlPost = url[0];
try {
jsonObjectDesignPosts = JsonParser.readJsonFromUrl(urlPost);
postNumber = jsonObjectDesignPosts.getJSONArray("golesLocal").length();
jsonArrayDesignContent = jsonObjectDesignPosts.getJSONArray("golesLocal");
postNumber = jsonObjectDesignPosts.getJSONArray("golesVisitante").length();
jsonArrayDesignContent = jsonObjectDesignPosts.getJSONArray("golesVisitante");
sharedPreferences.edit().putString("DESIGN", jsonArrayDesignContent.toString()).apply();
designNombre_local = new String[postNumber];
designMinuto_local = new String[postNumber];
designNombre_visitante = new String[postNumber];
designMinuto_visitante = new String[postNumber];
for (int i = 0; i < postNumber; i++) {
designNombre_local[i] = Html.fromHtml(jsonObjectDesignPosts.getJSONArray("golesLocal").getJSONObject(i).getString("nombre")).toString();
designMinuto_local[i] = Html.fromHtml(jsonObjectDesignPosts.getJSONArray("golesLocal").getJSONObject(i).getString("minuto")).toString();
designNombre_visitante[i] = Html.fromHtml(jsonObjectDesignPosts.getJSONArray("golesVisitante").getJSONObject(i).getString("nombre")).toString();
designMinuto_visitante[i] = Html.fromHtml(jsonObjectDesignPosts.getJSONArray("golesVisitante").getJSONObject(i).getString("minuto")).toString();
}
} catch (IOException | JSONException e) {
e.printStackTrace();
designNombre_local = new String[0];
error = true;
}
return null;
}
override
protected void onPostExecute(String result) {
designs = new ArrayList<>();
if (designNombre_local.length != -1) {
for(int i=0; i<(designNombre_local.length); i++){
designs.add(new Goles(designNombre_local[i],designMinuto_local[i],
designNombre_visitante[i],designMinuto_visitante[i]));
}
}
if (error) {
Toast.makeText(getActivity(), "Error de conexión", Toast.LENGTH_LONG).show();
}
PD: me he dado cuenta de que muestra el numero de items inferior, me explico, en el partido han marcado los locales 5 y los visitantes 3, pues muestra solo tres resultados de cada equipo.
Me pueden ayudar? Gracias
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.