Problema con json (arreglo)
Publicado por Hector (48 intervenciones) el 24/06/2021 18:00:40
Hola amigos del foro esperando que todos se encuentren muy bien de salud, tengo una base de datos en mysql y una tabla que se llama casos, del cual se posee 23 registros en total, es decir 23 campos, pero hay dos de ellos que dependiendo del ingreso y del caso estos pueden quedar vacíos, se graban muy bien en android, pero al momento de llamarlo a través del campo clave me envía este mensaje de error "org.jsonexception: value not of type java.lang.string cannot be converted to jsonarray" , este mensaje lo saco a través de android, ya que en las puebas que se realizan a través de la web y de postmann fuincionan muy bien y no da ningún error, este es el código que se utiliza en PHP para buscar los datos:
y este es el código que se utiliza en android studio, para que puedan ver si el error es en android o en php:
ojala que me puedan ayudar ya que llevo varios días metido en esta parte, soy nuevo en estas lides y necesito de vuestra ayuda, he recurrido a varias paginas y nadie me ha podio ayudar, disculpen las molestias y desde ya muchas gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
include ("conexion.php");
if ($_SERVER['REQUEST_METHOD'] == 'GET'){
$ID = isset($_GET['ID']) ? $_GET['ID'] : '';
$mysqli= new mysqli('localhost', 'root', '', 'oficina');
$query = "Select * From casos Where ID = '$ID'";
$result = $mysqli->query($query);
if ($mysqli -> affected_rows > 0){
while ($row = $result -> fetch_assoc()){
$casos = array_map('utf8_encode', $row);
}
echo json_encode($casos);
} else {
echo "No se encontraron datos";
}
$result ->close();
$mysqli ->close();
}
?>
y este es el código que se utiliza en android studio, para que puedan ver si el error es en android o en php:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
private void buscar_casos (String URL){
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, URL, null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
JSONObject jsonObject = null;
for (int i = 0; i < response.length(); i++) {
try {
jsonObject = response.getJSONObject(i);
et_clave.setText(jsonObject.getInt("ID"));
et_denuncia.setText(jsonObject.getString("Fecha_Denuncia"));
et_siniestro.setText(jsonObject.getString("Fecha_Siniestro"));
et_numsiniestro.setText(jsonObject.getInt("N_Siniestro"));
et_descripcion.setText(jsonObject.getString("Descripcion"));
et_conductor.setText(jsonObject.getString("Nombre_Conductor"));
et_rut.setText(jsonObject.getString("Rut_Conductor"));
et_patente.setText(jsonObject.getString("Patente_Vehiculo"));
et_tercero.setText(jsonObject.getString("Nombre_Tercero"));
et_patenteter.setText(jsonObject.getString("Patente_Tercero"));
et_compania.setText(jsonObject.getString("Nombre_Compania"));
et_inspeccion.setText(jsonObject.getString("Inspeccion"));
et_nombre.setText(jsonObject.getString("Nombre_Asegurado"));
et_rut1.setText(jsonObject.getString("Rut_Asegurado"));
et_poliza.setText(jsonObject.getInt("N_Poliza"));
et_causa.setText(jsonObject.getString("Tipo_Seguro"));
et_analista.setText(jsonObject.getString("Analista"));
et_perdida.setText(jsonObject.getString("Perdida"));
et_designacion.setText(jsonObject.getString("Fecha_Designacion"));
et_monto.setText(jsonObject.getInt("Monto_Perdida"));
et_informe.setText(jsonObject.getString("Fecha_Informe"));
et_inspector.setText(jsonObject.getString("Inspector"));
et_activo.setText(jsonObject.getString("Activo"));
} catch (JSONException e) {
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
}, new Response.ErrorListener(){
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
}
);
requestQueue = Volley.newRequestQueue(this);
requestQueue.add(jsonArrayRequest);
}
btn_buscar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buscar_casos("http://192.168.1.96/oficina/buscar.php?ID ="+et_registro.getText()+"");
}
});
ojala que me puedan ayudar ya que llevo varios días metido en esta parte, soy nuevo en estas lides y necesito de vuestra ayuda, he recurrido a varias paginas y nadie me ha podio ayudar, disculpen las molestias y desde ya muchas gracias
Valora esta pregunta


0