Tema: [ SOLUCIONADO ] Json
Ver Mensaje Individual
  #1  
Viejo 17/04/16, 10:57:23
Array

[xs_avatar]
Merche300 Merche300 no está en línea
Betatester oficial
 
Fecha de registro: dic 2008
Localización: Valencia
Mensajes: 625
Modelo de smartphone: NEXUS 5 - ONEPLUS 3
Tu operador: Pepephone
Json

¿como puedo parsear este JSON?

Código:
[
  {
    "codCompeticion": "284",
    "nomCompeticion": "2ª.Cadete I \"Copa Coca Cola\" Valencia",
    "jornadas": [
      {
        "jornada": "1",
        "idClubLocal": "0201211",
        "idEquipoLocal": "0201211301",
        "nomLocal": "Meliana C.F. \"A\"",
        "idClubVisitante": "0201045",
        "idEquipoVisitante": "0201045301",
        "nomVisitante": "Rafelbuñol C.F.",
        "resLocal": "0",
        "resVisitante": "3",
        "fecha": "17/10/2015",
        "hora": "10:30",
        "codInfo": "81769",
        "escudoLocal": "./img/logosClubes/0201211.jpg",
        "escudoVisitante": "./img/logosClubes/0201045.jpg"
      },
      {
        "jornada": "2",
        "idClubLocal": "0201045",
        "idEquipoLocal": "0201045301",
        "nomLocal": "Rafelbuñol C.F.",
        "idClubVisitante": "0201573",
        "idEquipoVisitante": "0201573211",
        "nomVisitante": "F.B. Alfara Del Patriarca",
        "resLocal": "0",
        "resVisitante": "10",
        "fecha": "24/10/2015",
        "hora": "12:30",
        "codInfo": "123322",
        "escudoLocal": "./img/logosClubes/0201045.jpg",
        "escudoVisitante": "./img/logosClubes/0201573.jpg"

      }
    ]
  }
]
Y mi codigo:

Código:
import android.content.Context; 
import android.graphics.Bitmap; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 

import com.android.volley.Request; 
import com.android.volley.RequestQueue; 
import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.toolbox.ImageRequest; 
import com.android.volley.toolbox.JsonArrayRequest; 
import com.android.volley.toolbox.Volley; 
import com.herprogramacion.restaurantericoparico.R; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import java.util.ArrayList; 
import java.util.List; 


public class Calendario_Volley_Adapter extends ArrayAdapter { 

// Atributos 
private RequestQueue requestQueue; 
JsonArrayRequest jsArrayRequest; 
private static final String URL_BASE = "http://www.XXX"; 
private static final String URL_JSON = ""; 
private static final String TAG = ""; 
private static final String ESCUDO = "http://XXX"; 
List<Calendario_Volley> items; 

public Calendario_Volley_Adapter(Context context) { 
super(context,0); 

// Crear nueva cola de peticiones 
requestQueue= Volley.newRequestQueue(context); 

// Nueva peticion JSONObject 
jsArrayRequest = new JsonArrayRequest( 
Request.Method.GET, 
URL_BASE + URL_JSON, 
null, 
new Response.Listener<JSONArray>() { 
/** 
* Called when a response is received. 
* 
*  @param response 
*/ 
  @override 
public void onResponse(JSONArray response) { 

} 


public void onResponse(JSONObject response) { 
items = parseJson(response); 
notifyDataSetChanged(); 
} 
}, 
new Response.ErrorListener() { 
  @override 
public void onErrorResponse(VolleyError error) { 
Log.d(TAG, "Error Respuesta en JSON: " + error.getMessage()); 

} 
} 
); 

// Anyadir peticion a la cola 
requestQueue.add(jsArrayRequest); 
} 

  @override 
public int getCount() { 
return items != null ? items.size() : 0; 
} 

  @override 
public View getView(int position, View convertView, ViewGroup parent) { 

LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext()); 

// Referencia del view procesado 
View listItemView; 

//Comprobando si el View no existe 
listItemView = null == convertView ? layoutInflater.inflate( 
R.layout.calendario_row, 
parent, 
false) : convertView; 


// Obtener el item actual 
Calendario_Volley item = items.get(position); 

// Obtener Views 
TextView textoNombre = (TextView) listItemView.findViewById(R.id.tv_Nombre); 
TextView textoTargetas = (TextView) listItemView.findViewById(R.id.tv_Fecha); 
TextView textoAmarillas = (TextView) listItemView.findViewById(R.id.tv_Hora); 
TextView textoDobles = (TextView) listItemView.findViewById(R.id.tv_Equipo_Local); 
TextView textoRojas = (TextView) listItemView.findViewById(R.id.tv_Equipo_Visitante); 
TextView textoEquipo = (TextView) listItemView.findViewById(R.id.tv_Result_Local); 
TextView textoResultado_Visitante = (TextView) listItemView.findViewById(R.id.tv_Result_Visitante); 
TextView textoArbitro = (TextView) listItemView.findViewById(R.id.tv_Arbitro); 

final ImageView imageEscudo_Local = (ImageView) listItemView. 
findViewById(R.id.tv_esc_local); 

final ImageView imageEscudo_Visitante = (ImageView) listItemView. 
findViewById(R.id.tv_esc_visi); 


// Actualizar los Views 
textoNombre.setText(item.getNombre()); 
textoTargetas.setText(item.getTargetas()); 
textoAmarillas.setText(item.getAmarillas()); 
textoDobles.setText(item.getDobles()); 
textoRojas.setText(item.getRojas()); 
textoEquipo.setText(item.getEquipo()); 
textoResultado_Visitante.setText(item.getResultado_Visitante()); 
textoArbitro.setText(item.getArbitro()); 

ImageRequest request = new ImageRequest( 
ESCUDO + item.getEscudo_Local(), 
new Response.Listener<Bitmap>() { 
  @override 
public void onResponse(Bitmap bitmap) { 
imageEscudo_Local.setImageBitmap(bitmap); 
} 
}, 0, 0, null,null, 
new Response.ErrorListener() { 
public void onErrorResponse(VolleyError error) { 
imageEscudo_Local.setImageResource(R.drawable.error); 
Log.d(TAG, "Error en respuesta Bitmap: "+ error.getMessage()); 
} 
}); 

requestQueue.add(request); 

request = new ImageRequest( 
ESCUDO + item.getEscudo_Visitante(), 
new Response.Listener<Bitmap>() { 
  @override 
public void onResponse(Bitmap bitmap) { 
imageEscudo_Visitante.setImageBitmap(bitmap); 
} 
}, 0, 0, null, null, 
new Response.ErrorListener() { 
public void onErrorResponse(VolleyError error) { 
imageEscudo_Visitante.setImageResource(R.drawable.error); 
Log.d(TAG, "Error en respuesta Bitmap: " + error.getMessage()); 
} 
}); 

requestQueue.add(request); 
// Anyadir peticion a la cola 

return listItemView; 
} 

public List<Calendario_Volley> parseJson(JSONObject jsonObject){ 
// Variables locales 
List<Calendario_Volley> rankingAmonestacionesCadetes = new ArrayList<>(); 
JSONArray jsonArray= null; 

try { 
// Obtener el array del objeto 
jsonArray = jsonObject.getJSONArray("jornadas"); 

for(int i=0; i<jsonArray.length(); i++){ 

try { 
JSONObject objeto= jsonArray.getJSONObject(i); 

Calendario_Volley RankingAmonestacionesCadetes = new Calendario_Volley( 
("JORNADA - ")+objeto.getString("jornada"), 
("FECHA - ")+objeto.getString("fecha"), 
objeto.getString("nomLocal"), 
("HORA - ")+objeto.getString("hora"), 
objeto.getString("nomVisitante"), 
objeto.getString("resVisitante"), 
objeto.getString("resLocal")+(" - "), 
("ARBITRO - ")+objeto.getString("resLocal"), 

objeto.getString("escudoLocal"), 
objeto.getString("escudoVisitante")+(" - ")); 


rankingAmonestacionesCadetes.add(RankingAmonestacionesCadetes); 

} catch (JSONException e) { 
Log.e(TAG, "Error de parsing: " + e.getMessage()); 
} 
} 

} catch (JSONException e) { 
e.printStackTrace(); 
} 
return rankingAmonestacionesCadetes; 
} 
}
Se que es un array pero no se como se hace para hacero.

Última edición por Merche300 Día 06/11/16 a las 08:10:14.
Responder Con Cita