Android Studio: Como Leer un archivo JSON local en Android

 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

www.yalpublicidad.com


Comentarios