|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Parser
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/jorna...sificacion.php |
|
|
|
#2
|
||||
|
||||
|
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.
|
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Si, pero como hacerlo desde cero? algun tuto o ejemplo?
|
|
#4
|
||||
|
||||
|
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. |
| Gracias de parte de: | ||
|
#5
|
||||
|
||||
|
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:
[PHP] 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").l ength(); 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("nombr e")).toString(); designMinuto_visitante[i] = Html.fromHtml(jsonObjectDesignPosts.getJSONArray(" golesVisitante").getJSONObject(i).getString("minut o")).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(); } [/PHP] 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 Última edición por Merche300 Día 03/01/16 a las 16:08:56. Razón: explico |