Resulta que tengo un archivo json con el cual deseo hacer un registro en la bd de datos pero me arroja un error y no logro entender que estoy haciendo mal.
Este es mi Json:
[{"Categoria":"Storage","CurrencyDef":"COP","Descri ption":"n2225 sas/sata hba for ibm system x","Familia":"ALMACENAMIENTO","Marks":"LENOVO SERVIDORES","Name":"N2225 SAS/SATA HBA for IBM System x","PartNum":"00AE912","Quantity":2,"Salesminprice ":706006.97},
{"Categoria":"Accesorios Servidores","CurrencyDef":"USD","Description":"hdd 300gb 15k 6gbps sas 2.5in g3hs hdd","Familia":"SERVIDORES","Marks":"LENOVO SERVIDORES","Name":"HDD 300GB 15K 6Gbps SAS 2.5in G3HS HDD","PartNum":"00AJ081","Quantity":6,"Salesminpri ce":328.45}]
Y este es el método que estoy usando:
Código PHP:
private Connection connect = null;
PreparedStatement preparedStatement = null;
public int guardarMysql() throws Exception {
int status = 0;
try {
JSONParser parser = new JSONParser();
// Load the MySQL driver, each DB has its own driver
Class.forName("com.mysql.jdbc.Driver");
// DB connection setup
connect = DriverManager.getConnection("jdbc:mysql://localhost/majo_tienda",
"root",
"");
// PreparedStatements
preparedStatement = connect
.prepareStatement("INSERT INTO producto_proveedor_temporal"
+ " VALUES (?,?,?,?,?,?,?,?,?)");
Object obj = parser.parse(new FileReader("C:\\Users\\control\\Documents\\NetBeansProjects\\ProyectoMajoTienda\\ArchivoDePrueba.json"));
JSONObject jsonObject = (JSONObject) obj;
String categoria = (String) jsonObject.get("Categoria");
// Parameters start with 1
preparedStatement.setString(1, "categoria");
String currencyDef = (String) jsonObject.get("CurrencyDef");
preparedStatement.setString(2, "currencyDef");
String description = (String) jsonObject.get("Description");
preparedStatement.setString(3, description);
String familia = (String) jsonObject.get("Familia");
preparedStatement.setString(4, familia);
String marks = (String) jsonObject.get("Marks");
preparedStatement.setString(5, marks);
String name = (String) jsonObject.get("Name");
preparedStatement.setString(6, name);
String partNum = (String) jsonObject.get("PartNum");
preparedStatement.setString(7, partNum);
String quantity = (String) jsonObject.get("Quantity");
preparedStatement.setString(8, quantity);
String salesMinPrice = (String) jsonObject.get("Salesminprice");
preparedStatement.setString(9, salesMinPrice);
status = preparedStatement.executeUpdate();
} catch (Exception e) {
System.out.println("ProductoDAOMS: "
+ "Se presentó un error al insertar un producto. "
+ e.getMessage());
e.printStackTrace();
throw e;
} finally {
try {
if (connect != null) {
connect.close();
}
} catch (Exception e) {
}
}
return status;
}
Si alguien logra entender que estoy haciendo, le agradecería que por favor me dijera.
De antemano Muchas Gracias.