pasar objeto lista convertir array java json

java - objeto - pasar de json a array



Cómo analizar un JSON y convertir sus valores en una matriz? (2)

Puede preferir el analizador rápido-json para cumplir su requisito ...

El analizador quick-json es muy directo, flexible, muy rápido y personalizable. Probar esto

[Quick-json parser] ( https://code.google.com/p/quick-json/ ) - funciones rápidas y rápidas -

  • Cumple con la especificación JSON (RFC4627)

  • Analizador JSON de alto rendimiento

  • Admite un método de análisis flexible / configurable

  • Validación configurable de pares clave / valor de cualquier Jerarquía JSON

  • Fácil de usar # Muy menos huella

  • Incrementa las excepciones amigables y fáciles de rastrear del desarrollador

  • Compatibilidad de validación personalizada conectable: las claves / valores se pueden validar configurando validadores personalizados cuando se encuentran

  • Soporte de analizador validación y no validación

  • Soporte para dos tipos de configuración (JSON / XML) para usar Quick-Json validating parser

  • Requerir JDK 1.5 # Sin dependencia en bibliotecas externas

  • Soporte para Json Generation a través de serialización de objetos

  • Soporte para selección de tipo de colección durante el proceso de análisis

Por ej.

JsonParserFactory factory=JsonParserFactory.getInstance(); JSONParser parser=factory.newJsonParser(); Map jsonMap=parser.parseJson(jsonString);

public static void parseProfilesJson(String the_json){ try { JSONObject myjson = new JSONObject(the_json); JSONArray nameArray = myjson.names(); JSONArray valArray = myjson.toJSONArray(nameArray); for(int i=0;i<valArray.length();i++) { String p = nameArray.getString(i) + "," + ValArray.getString(i); Log.i("p",p); } } catch (JSONException e) { e.printStackTrace(); } }

Como puede ver, este código de muestra imprimirá la CLAVE de los JSON, seguido por los VALORES de los JSONS.

Imprimiría perfiles, John si el json fuera así:

{''profiles'':''john''}

Eso es genial. Está bien, ya que puedo trabajar con esas variables. Sin embargo, ¿y si el JSON fuera así?

{''profiles'': [{''name'':''john'', ''age'': 44}, {''name'':''Alex'',''age'':11}]}

En este caso, el valor completo sería la matriz. Básicamente, solo quiero tomar esa matriz (que es el "valor" en este caso) ... y convertirla en una matriz real que JAVA podría usar. ¿Cómo puedo hacer eso? Gracias.


para tu ejemplo:

{''profiles'': [{''name'':''john'', ''age'': 44}, {''name'':''Alex'',''age'':11}]}

Tendrás que hacer algo de este efecto:

JSONObject myjson = new JSONObject(the_json); JSONArray the_json_array = myjson.getJSONArray("profiles");

esto devuelve el objeto de matriz.

Luego iterar será de la siguiente manera:

int size = the_json_array.length(); ArrayList<JSONObject> arrays = new ArrayList<JSONObject>(); for (int i = 0; i < size; i++) { JSONObject another_json_object = the_json_array.getJSONObject(i); //Blah blah blah... arrays.add(another_json_object); } //Finally JSONObject[] jsons = new JSONObject[arrays.size()]; arrays.toArray(jsons); //The end...

Deberá determinar si los datos son una matriz (simplemente verificando que charAt(0) comience con [ carácter].

Espero que esto ayude.