title: Need Help reading JSON JAVA
body: <p>I have a JSON with this code.</p>
  
  <pre><code>  [  
     {  
  
     },
     {  
  
     },
     {  
  
     },
     {  
  
     },
     {  
  
     },
     {  
  
     },
     {  
        "Producto0":[  
           {  
              "crf":"4555424"
           },
           {  
              "name":"Limpiador"
           },
           {  
              "desc":"Producto de importacion italiano"
           },
           {  
              "pve":"8.44"
           },
           {  
              "pvp":"14.99"
           },
           {  
              "cdp":"10"
           },
           {  
              "familia":"Limpieza"
           },
           {  
              "existencias":"10"
           }
        ],
        "Producto1":[  
           {  
              "crf":"5132413"
           },
           {  
              "name":"Colador"
           },
           {  
              "desc":"Colador de acero"
           },
           {  
              "pve":"15"
           },
           {  
              "pvp":"18"
           },
           {  
              "cdp":"10"
           },
           {  
              "familia":"Cocina"
           },
           {  
              "existencias":"100"
           }
        ]
     },
     {  
  
     },
     {  
        "Proveedor0":[  
           {  
              "crf":"10"
           },
           {  
              "razonsocial":"pene"
           },
           {  
              "cif":"10"
           },
           {  
              "num":"10"
           },
           {  
              "correo":"10"
           },
           {  
              "direccion":"10"
           },
           {  
              "metodopago":"1"
           },
           {  
              "observaciones":"10"
           }
        ],
        "Proveedor1":[  
           {  
              "crf":"5421452"
           },
           {  
              "razonsocial":"Falete"
           },
           {  
              "cif":"45411"
           },
           {  
              "num":"42314"
           },
           {  
              "correo":"falete@gmail.com"
           },
           {  
              "direccion":"tu casa"
           },
           {  
              "metodopago":"T"
           },
           {  
              "observaciones":"Es muy pesado"
           }
        ]
     }
  ]
  </code></pre>
  
  <p>I tried many ways to read this JSON but I cant achieve it. Heres the only part of my code that works.</p>
  
  <pre><code> import org.json.simple.JSONArray;
  import org.json.simple.parser.*;
  import org.json.*;
  
  import java.io.FileReader;
  import java.io.IOException;
  
  public class parse {
  routes router = new routes();
  String ruta = router.getruta();
      public parse() {
          // TODO Auto-generated constructor stub
      }
  
      public void parseproductos() {
          JSONParser parser = new JSONParser();
          try {
              JSONArray a = (JSONArray) parser.parse(new FileReader("ruta"));
              for (Object o : a)
              {
              }
          } catch (IOException | ParseException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
  
  
      }
  
  }
  </code></pre>
  
  <p>I try to read an JSON that preoviously generated with another class from a database. At the moment that I try to read for example only the "ProductoXXX" I dont get them or get everythink. Somebody could help me reading the JSON only the "ProductoXX"?</p>
  
  <p>UPDATE, someone asked my JSON codifier to help me simplify it.</p>
  
  <p>import java.io.FileWriter;
  import java.io.IOException;</p>
  
  <p>import org.json.simple.JSONArray;
  import org.json.simple.JSONObject;</p>
  
  <p>public class getdata extends dbconnect{</p>
  
  <pre><code>public void getData() throws IOException {
      int i = 0;
  
      JSONArray listt = new JSONArray();
  
      JSONObject jobj = new JSONObject();
      JSONObject jobjt1 = new JSONObject();
      JSONObject jobjt2 = new JSONObject();
      JSONObject jobjt3 = new JSONObject();
      JSONObject jobjt4 = new JSONObject();
      JSONObject jobjt5 = new JSONObject();
      JSONObject jobjt6 = new JSONObject();
      JSONObject jobjt7 = new JSONObject();
      JSONObject jobjt8 = new JSONObject();
      JSONObject jobjt9 = new JSONObject();
  
  
  
      try {
          //Albaran
          String query1 = "select * from Albaran";
          rs = st.executeQuery(query1);
          i=0;
          while(rs.next()) {
              JSONArray list1 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String a1= rs.getString("CodAlbaran");
              String a2= rs.getString("CodRefCli");
              String a3= rs.getString("CodRefPro");
              String a4= rs.getString("CIFPropio");
              String a5= rs.getString("Dir.Archivo");
  
              jobja.put("codalbaran", a1);
              jobjb.put("codRefCli", a2);
              jobjc.put("codrefpro",a3 );
              jobjd.put("cifpropio", a4);
              jobje.put("directorio", a5);                
               list1.add(jobja);
               list1.add(jobjb);
               list1.add(jobjc);
               list1.add(jobjd);
               list1.add(jobje);
  
               jobjt1.put("Albaran"+i++, list1);
  
          }
          listt.add(jobjt1);
          //Clientes
          String query2 = "select * from Clientes";
          rs = st.executeQuery(query2);
          i=0;
          while(rs.next()) {
              JSONArray list2 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String b1 = rs.getString("CodRefCli");
              String b2 = rs.getString("RazonSocial");
              String b3 = rs.getString("CIF");
              String b4 = rs.getString("Num");
              String b5 = rs.getString("Correo");
              String b6 = rs.getString("Direccion");
              String b7 = rs.getString("MetodoPago");
              String b8 = rs.getString("Observaciones");
  
               jobja.put("codrefcli", b1);
               jobjb.put("razonsocial", b2);
               jobjc.put("cif", b3);
               jobjd.put("num", b4);
               jobje.put("correo", b5);
               jobjf.put("direccion", b6);
               jobjg.put("metodopago", b7);
               jobjh.put("observaciones", b8);
               list2.add(jobja);
               list2.add(jobjb);
               list2.add(jobjc);
               list2.add(jobjd);
               list2.add(jobje);
               list2.add(jobjf);
               list2.add(jobjg);
               list2.add(jobjh);
  
               jobjt2.put("Cliente"+i++, list2);
  
          }
          listt.add(jobjt2);
          //Empleados
          String query3 = "select * from Empleados";
          rs = st.executeQuery(query3);
          i=0;
          while(rs.next()) {
              JSONArray list3 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String c1 = rs.getString("Cod.Empleado");
              String c2 = rs.getString("Nombre");
              String c3 = rs.getString("Apellidos");
              String c4 = rs.getString("DNI");
              String c5 = rs.getString("Direccion");
              String c6 = rs.getString("FechaAlta");
              String c7 = rs.getString("CopiaContrato");
              String c8 = rs.getString("NCuenta");
  
               jobja.put("codempleado", c1);
               jobjb.put("nombre", c2);
               jobjc.put("apellidos", c3);
               jobjd.put("dni", c4);
               jobje.put("direccion", c5);
               jobjf.put("fechaalta", c6);
               jobjg.put("copiacontrato", c7);
               jobjh.put("numcuenta", c8);
               list3.add(jobja);
               list3.add(jobjb);
               list3.add(jobjc);
               list3.add(jobjd);
               list3.add(jobje);
               list3.add(jobjf);
               list3.add(jobjg);
               list3.add(jobjh);
  
               jobjt3.put("Empleado"+i++, list3);
  
          }
          listt.add(jobjt3);
          //Existencias
          String query4 = "select * from Existencias";
          rs = st.executeQuery(query4);
          i=0;
          while(rs.next()) {
              JSONArray list4 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String d1 = rs.getString("Cod.RefExistencia");
              String d2 = rs.getString("Cod.RefPro");
              String d3 = rs.getString("Cantidad");
              String d4 = rs.getString("Sitio");
              String d5 = rs.getString("Proposito");
  
               jobja.put("codrefexistencia", d1);
               jobjb.put("codrefproducto", d2);
               jobjc.put("cantidad", d3);
               jobjd.put("sitio", d4);
               jobje.put("proposito", d5);
               list4.add(jobja);
               list4.add(jobjb);
               list4.add(jobjc);
               list4.add(jobjd);
               list4.add(jobje);
  
               jobjt4.put("Existencia"+i++, list4);
  
          }
          listt.add(jobjt4);
          //PedidosClientes
          String query5 = "select * from PedidosC";
          rs = st.executeQuery(query5);
          i=0;
          while(rs.next()) {
              JSONArray list5 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String e1= rs.getString("NumPed");
              String e2= rs.getString("FechaPedido");
              String e3= rs.getString("FormadePago");
              String e4 = rs.getString("EnviadoA");
              String e5 = rs.getString("CodCliente");
              String e6 = rs.getString("CPP");
  
               jobja.put("numped", e1);
               jobjb.put("fechapedido", e2);
               jobjc.put("formapago", e3);
               jobjd.put("enviadoa", e4);
               jobje.put("codcliente", e5);
               jobjf.put("cpp", e6);
               list5.add(jobja);
               list5.add(jobjb);
               list5.add(jobjc);
               list5.add(jobjd);
               list5.add(jobje);
               list5.add(jobjf);
  
               jobjt5.put("PedidoCliente"+i++, list5);
  
          }
          listt.add(jobjt5);
          //PedidosProveedores
          String query6 = "select * from PedidosC";
          rs = st.executeQuery(query6);
          i=0;
          while(rs.next()) {
              JSONArray list6 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String f1= rs.getString("NumPed");
              String f2= rs.getString("FechaPedido");
              String f3 = rs.getString("FormadePago");
              String f4 = rs.getString("EnviadoA");
              String f5 = rs.getString("Cod.Prov");
              String f6 = rs.getString("CPP");
  
               jobja.put("numped", f1);
               jobjb.put("fechapedido", f2);
               jobjc.put("formapago", f3);
               jobjd.put("enviadoa", f4);
               jobje.put("codcliente", f5);
               jobjf.put("cpp", f6);
               list6.add(jobja);
               list6.add(jobjb);
               list6.add(jobjc);
               list6.add(jobjd);
               list6.add(jobje);
               list6.add(jobjf);
  
               jobjt6.put("PedidoProveedor"+i++, list6);
  
          }
          listt.add(jobjt6);
          //Productos
          String query7 = "select * from Productos";
          rs = st.executeQuery(query7);
          i=0;
          while(rs.next()) {
              JSONArray list7 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String g1= rs.getString("Cod.RefPro");
              String g2= rs.getString("Nombre");
              String g3 = rs.getString("Descripcion");
              String g4 = rs.getString("PrecioNeto");
              String g5 = rs.getString("pvp");
              String g6 = rs.getString("CodRefProv");
              String g7 = rs.getString("Familia");
              String g8 = rs.getString("Existencias");
  
               jobja.put("crf", g1);
               jobjb.put("name", g2);
               jobjc.put("desc", g3);
               jobjd.put("pve", g4);
               jobje.put("pvp", g5);
               jobjf.put("cdp", g6);
               jobjg.put("familia", g7);
               jobjh.put("existencias", g8);
               list7.add(jobja);
               list7.add(jobjb);
               list7.add(jobjc);
               list7.add(jobjd);
               list7.add(jobje);
               list7.add(jobjf);
               list7.add(jobjg);
               list7.add(jobjh);
  
               jobjt7.put("Producto"+i++, list7);
  
  
          }
          listt.add(jobjt7);
          //PropiaEmpresa
          String query8 = "select * from PropiaEmpresa";
          rs = st.executeQuery(query8);
          i=0;
          while(rs.next()) {
              JSONArray list8 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String p1= rs.getString("CIF");
              String p2= rs.getString("RazonSocial");
              String p3 = rs.getString("Telefono");
              String p4 = rs.getString("Correo");
              String p5 = rs.getString("Direccion");
              String p6 = rs.getString("NCuenta");
  
               jobja.put("cif", p1);
               jobjb.put("razonsocial", p2);
               jobjc.put("telef", p3);
               jobjd.put("correo", p4);
               jobje.put("direccion", p5);
               jobjf.put("ncuenta", p6);
               list8.add(jobja);
               list8.add(jobjb);
               list8.add(jobjc);
               list8.add(jobjd);
               list8.add(jobje);
               list8.add(jobjf);
  
               jobjt8.put("PropiaEmpresa", list8);
  
          }
          listt.add(jobjt8);
          //Proveedor
          String query9 = "select * from Proveedor";
          rs = st.executeQuery(query9);
          i=0;
          while(rs.next()) {
              JSONArray list9 = new JSONArray();
              JSONObject jobja = new JSONObject();
              JSONObject jobjb = new JSONObject();
              JSONObject jobjc = new JSONObject();
              JSONObject jobjd = new JSONObject();
              JSONObject jobje = new JSONObject();
              JSONObject jobjf = new JSONObject();
              JSONObject jobjg = new JSONObject();
              JSONObject jobjh = new JSONObject();
  
              String h1= rs.getString("Cod.Referencia");
              String h2= rs.getString("RazonSocial");
              String h3 = rs.getString("CIF");
              String h4 = rs.getString("Numero");
              String h5 = rs.getString("Correo");
              String h6 = rs.getString("Direccion");
              String h7 = rs.getString("MetodoPago");
              String h8 = rs.getString("Observaciones");
  
               jobja.put("crf", h1);
               jobjb.put("razonsocial", h2);
               jobjc.put("cif", h3);
               jobjd.put("num", h4);
               jobje.put("correo", h5);
               jobjf.put("direccion", h6);
               jobjg.put("metodopago", h7);
               jobjh.put("observaciones", h8);
               list9.add(jobja);
               list9.add(jobjb);
               list9.add(jobjc);
               list9.add(jobjd);
               list9.add(jobje);
               list9.add(jobjf);
               list9.add(jobjg);
               list9.add(jobjh);
  
               jobjt9.put("Proveedor"+i++, list9);
  
          }
          listt.add(jobjt9);
          // try-with-resources statement based on post comment below :)
          routes router = new routes();
          String ruta = router.getruta();
  
          try (FileWriter file = new FileWriter(ruta+"data.json")) {
              file.write(listt.toJSONString());
              file.flush();
          }
      }catch(Exception ex) {
          System.out.println("Error: "+ex);
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Sorry for the raw. Posting from the phone, cant access internet from computer.</p>