Так что я попытался, кстати, в своем последнем вопросе, но у меня были только проблемы и больше проблем с ним.Я пытаюсь разобрать это.
[
{
},
{
"Cliente0":[
{
"codrefcli":"1541121"
},
{
"razonsocial":"Perico de los palotes"
},
{
"cif":"45417265"
},
{
"num":"964491837"
},
{
"correo":"perico@yahoo.com"
},
{
"direccion":"calle maria la vieja"
},
{
"metodopago":"T"
},
{
"observaciones":"que pesado"
}
]
},
{
"Empleado0":[
{
"codempleado":"1"
},
{
"nombre":"Carlos"
},
{
"apellidos":"Basilio"
},
{
"dni":"15421451H"
},
{
"direccion":"Calle el rio"
},
{
"fechaalta":"2018-05-17"
},
{
"copiacontrato":"aaa"
},
{
"numcuenta":"884723877"
}
]
},
{
},
{
"PedidoCliente0":[
{
"numped":"454524"
},
{
"fechapedido":"2018-05-09"
},
{
"formapago":"Efectivo"
},
{
"enviadoa":"Perico de los palotes"
},
{
"codcliente":"1541121"
},
{
"cpp":"5132413"
}
]
},
{
"PedidoProveedor0":[
{
"numped":"7455112"
},
{
"fechapedido":"2018-05-01"
},
{
"formapago":"Efectivo"
},
{
"enviadoa":"Calle el marino"
},
{
"codcliente":"10"
},
{
"cpp":"4555424"
}
]
},
{
"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"
}
]
}
]
Я получаю это JSON Generationg, получая данные из моей базы данных, получая их с помощью этого кода:
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class getdata extends dbconnect{
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 PedidosP";
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("CodProv");
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);
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);
}
}
}
Я пытаюсь почти прочитать файл сэтот код и разбор, но я не понимаю.
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.*;
import org.json.*;
import java.io.FileNotFoundException;
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 {final Scanner sc = new Scanner( new File("N:\\data.json"), "UTF-8" )) {
final String fileContents = sc.useDelimiter("\\A").next();
parser.parse(fileContents);
//as ccjmne sugested
}
catch (FileNotFoundException e) { e.printStackTrace();}
catch (IOException e) { e.printStackTrace();}
catch (ParseException e) { e.printStackTrace();}
catch (Exception e) { e.printStackTrace();}
}
}
Я пробовал, и я получаю только ошибки.И вместо этого я получаю ошибки разрешений на чтение файла или других.Как я могу улучшить код и разбор?Это для школьного проекта.
Обновление
Спасибо ccjmne за предложенные изменения, сделано и ошибки исправлены.Теперь моя проблема возвращается к основной, я не знаю, как читать вложенные массивы json и помещать их в массив java.