Java - Duda: Como convertir string en jsonArray

 
Vista:

Duda: Como convertir string en jsonArray

Publicado por Gabriel (4 intervenciones) el 27/07/2015 10:47:21
Hola a todos.
Tengo una duda y es que no soy capaz de convertir un string a un json array.
El resultado que me da es este:

Output from Server ....
[{"idLibro":1,"nombre":"Luces de septiembre","autor":"Carlos Ruiz Zafón"....


Lo que quiero es pasarlo a un json array para poder coger solo el atributo idLibro. ¿Alguna idea?
Mi código es este, pero da error en el array:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
URL url2 = new URL(url);
            HttpURLConnection conn = (HttpURLConnection) url2.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
            BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
 String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
        JSONObject jObject = new JSONObject();
JSONArray jArray = jObject.getJSONArray(output);
for (int i = 0; i < jArray.length(); i++) {
        JSONObject jObj = jArray.getJSONObject(i);
        System.out.println(i + " id : " + jObj.getInt("idLibro"));
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda: Como convertir string en jsonArray

Publicado por Poncho (2 intervenciones) el 27/07/2015 20:22:05
Array JSON.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;
 
class JsonDecodeDemo
{
   public static void main(String[] args)
   {
      JSONParser parser=new JSONParser();
      String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
      try{
         Object obj = parser.parse(s);
         JSONArray array = (JSONArray)obj;
         System.out.println("El segundo elemento del array");
         System.out.println(array.get(1));
         System.out.println();
 
         JSONObject obj2 = (JSONObject)array.get(1);
         System.out.println("Campo \"1\"");
         System.out.println(obj2.get("1"));
 
         s = "{}";
         obj = parser.parse(s);
         System.out.println(obj);
 
         s= "[5,]";
         obj = parser.parse(s);
         System.out.println("5ta posición: " + obj);
 
         s= "[5,,2]";
         obj = parser.parse(s);
         System.out.println(obj);
      }catch(ParseException pe){
         System.out.println("position: " + pe.getPosition());
         System.out.println(pe);
      }
   }
}

Resultado:

1
2
3
4
5
6
7
8
El segundo elemento del array
{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}
 
Campo "1"
{"2":{"3":{"4":[5,{"6":7}]}}}
{}
5ta posición: [5]
[5,2]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda: Como convertir string en jsonArray

Publicado por Gabriel (4 intervenciones) el 28/07/2015 10:35:14
Gracias, pero eso ya lo he probado.
En mi caso no funciona porque el string devuelto por la base de datos empieza asi:
[{"idLibro":1,"nombre":"Luces de septiembre","autor":"Carlos Ruiz Zafón"...

y no asi:
"[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";

por lo que me da error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda: Como convertir string en jsonArray

Publicado por Light (1 intervención) el 27/03/2020 17:37:37
Estimado tengo el mismo problema, como lo soluciono me podria ayudar con el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda: Como convertir string en jsonArray

Publicado por Costero (148 intervenciones) el 27/03/2020 18:53:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.json.*;
 
public class JsonArray {
    public static void main(String [] args) {
        String output = "[{\"idLibro\":1,\"nombre\":\"Luces de sept\"},{\"idLibro\":2,\"nombre\":\"Luces de oct\"}]";
 
        JSONArray jArray = new JSONArray(output);
 
        for (int i = 0; i < jArray.length(); i++) {
            JSONObject jObj = jArray.getJSONObject(i);
            System.out.println(i + " id : " + jObj.getInt("idLibro"));
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar