Ich habe eine API (here), die einen JSON-String als Ausgabe ausgibt. Ich möchte dieses JSON analysieren. Es hat vor einiger Zeit funktioniert, aber ich habe vielleicht etwas in meiner API oder Java-Code geändert.Java-Wert vom Typ java.lang.string kann nicht in jsonobject konvertiert werden
Dies ist der Code ich benutze:
Hier msg
ist eine Zeichenkette, die die api Antwort
try {
/* this prints */
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
JSONObject jObject = new JSONObject(msg);
String cleaner_id = jObject.getString("cleaner_id");
/* but this does not */
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
catch(Exception e) {
Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_SHORT).show();
}
Ich verwende codeigniter Framework in PHP enthält.
Dies ist die Funktion in meinem PHP-Modell:
public function get_cleaner($mobile, $pass){
$this->db->select("cleaner.cleaner_id, cleaner.cleaner_name, cleaner.date_of_joining, cleaner.current_address, cleaner.mobile1, cleaner.mobile2, cleaner.date_of_birth, skill.skill_name as cleaner_designation");
$this->db->from("cleaner");
$this->db->join('skill', 'cleaner.designation = skill.skill_id', 'left');
$this->db->where("mobile1", $mobile);
$this->db->where("user_pass", $pass);
$data = $this->db->get()->result_array();
return $data;
}
Und das ist mein PHP-Controller:
public function getCleaner(){
$mobile_no = $this->input->get('mobile');
$pass = $this->input->get('pass');
if(!is_null($mobile_no) && !is_null($pass))
{
header('Content-Type: application/javascript');
$data = $this->cleaner_model->get_cleaner($mobile_no, $pass);
if(!empty($data))
echo json_encode($data[0]);
else
echo '{"cleaner_id":"-10","cleaner_name":"cleaner_not_found"}';
}
}
ich viel und versuchte viele verschiedene Lösungen gesucht Ich habe n web gefunden, aber keine der Lösungen, die ich ausprobiert habe, hat sich für mich bewährt.
UPDATE:
this gibt dem Fehler
this den Fehler
Aber
thisfeinen analysiert und gibt mir nur Schlüssel nicht gefunden Ausnahme
gibtGithub Probe json api und meine api geben die cannot convert string to json obj
Ausnahme, aber Google Maps API nicht. Ist irgendetwas mit meinem api-Format nicht in Ordnung?
FIXED: ich, dass mein api Ausgang einen führenden versteckten Charakter hatte endlich herausgefunden, die die Parsing-Fehler verursacht
I Dies ist ein Screenshot des Fehlers (Too big einen Screenshot zu erhalten, aber Sie bekommen die Idee ...)
Sorry ... Ich habe es jetzt hinzugefügt. – mrid
Verwenden Sie org.json.JSONObject class oder org.json.simple.JSONObject. ? –
Warum ist Ihr Inhaltstyp "application/javascript" anstelle von "application/json"? – RealSkeptic