El formato JSON es uno de los más usados en el intercambio y las gestiones de datos, son ligeros, dinámicos y mejoran el rendimiento de las aplicación en diferentes entornos.
En este ejemplo utilizaremos el JSON creado en el tutorial anterior "Cómo escribir un JSON local".
A continuación vamos a ver como leer un JSON local desde Android Studio:
prueba.json
[
{
"nombre":"Luis",
"edad":"25"
},
{
"nombre":"Maria",
"edad":"19"
}
]
1. Crear Nuevo Proyecto
Seleccionamos Empty Activity (Actividad Vacía) para crear nuestro proyecto y luego presionamos el botón Next para continuar.
2. Leer JSON LOCAL
Lo primero que haremos es crear una nueva clase con nombre "miClass"
dentro de esta clase pegamos el siguiente código
miClass.java
public class miClass {
/* funcion para saber si existe un archivo */
public static boolean existe_archivo(String archivos[], String nombreArchivo){
for(int i=0; i < archivos.length; i++)
if(nombreArchivo.equals(archivos[i]))
return true;
return false;
}
/* funcion para abrir fichero */
public static String abrir_fichero(Context context, String nombreFichero ) throws IOException
{
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(context.openFileInput(nombreFichero)));
String content = "";
String line;
while ((line = bufferedReader.readLine()) != null)
{
content=content + line;
}
return content;
}
}
Luego en nuestra actividad principal pegamos el siguiente código
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//-- Compruebo si existe archivo faritos
String archivos[] = fileList();
if(miClass.existe_archivo(archivos,"prueba.json")){
leerJSON();
}else{ Toast.makeText(this,"No se encontró el JSON.", Toast.LENGTH_SHORT).show(); } } private void leerJSON(){
/*
* leo jSON de memoria interna
*/
try{
String jsonFileContent = miClass.abrir_fichero(this,"prueba.json");
// -- obtengo json ej. [{"dato0":"valor0"},{"dato1":"valor1"}]
JSONArray jsonArray = new JSONArray(jsonFileContent);
// -- leo JSON
for (int i=0;i<jsonArray.length(); i++)
{
//-- Convierto el jsonArray a objeto
JSONObject jsonObject = jsonArray.getJSONObject(i);
//-- muestro datos jSON Log.d("miJSON", "Nombre: " + jsonObject.getString("nombre")); }
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
} }
Con este ejemplo podemos abrir un JSON desde la memoria interna.
YAL PUBLICIDAD
Comentarios
Publicar un comentario