java.lang.String nicht umgewandelt werden, org.json.einfach.JSONObject einfache json
Ich bin immer seltsames problem beim Parsen eines einfachen json mit einfachen json-von google.
Hier ist mein code, der nicht funktioniert:
String s = args[0].toString();
JSONObject json = (JSONObject)new JSONParser().parse(s);
Wenn ich ausführen, es wird mir die Ausnahme java.lang.String cannot be cast to org.json.simple.JSONObject
Aber wenn ich hart json-code direkt, wie unten seine Arbeitsmethoden in Ordnung. Wat könnte der Grund sein?
JSONObject json = (JSONObject)new JSONParser().parse("{\"application\":\"admin\",\"keytype\":\"PRODUCTION\",\"callbackUrl\":\"qwerewqr;ewqrwerq;qwerqwerq\",\"authorizedDomains\":\"ALL\",\"validityTime\":\"3600000\",\"retryAfterFailure\":true}");
UPDATE
Wenn ich drucken Sie s, Sie geben mir die folgende Ausgabe:
"{\"application\":\"admin\",\"keytype\":\"PRODUCTION\",\"callbackUrl\":\"qwerewqr;ewqrwerq;qwerqwerq\",\"authorizedDomains\":\"ALL\",\"validityTime\":\"3600000\",\"retryAfterFailure\":true}"
Vielleicht ist es, weil s wurde in einem falschen format? Oder bekommst du eine andere Fehlermeldung in diesem Fall? In Ihrem zweiten Beispiel, versuchen Sie, in eine ungültige JSON-Zeichenfolge, wie "test123" und sehen die Fehler.
Könnte Sie ändern und Debuggen mit Object obj = new JSONParser().parse(s) statt JSONObject json = (JSONObject)neue JSONParser().parse(s)
ja, dass ist wroking.. danke ich Frage mich, wie konnte ich drucken Sie das json-Elemente?
wenn ich gebe "test123" seine Angabe Unexpected character (t) an position 0.
Könnte Sie ändern und Debuggen mit Object obj = new JSONParser().parse(s) statt JSONObject json = (JSONObject)neue JSONParser().parse(s)
ja, dass ist wroking.. danke ich Frage mich, wie konnte ich drucken Sie das json-Elemente?
wenn ich gebe "test123" seine Angabe Unexpected character (t) an position 0.
InformationsquelleAutor Roshan Wijesena | 2014-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich rannte diese durch eclipse durch die Bereitstellung
arguments
imrun configuration
.Ausgabe
Drucken Sie, was Sie von args[0]. Sie SOLLTEN NICHT sehen, keine escapes. Vermutlich
parse
gibt einen String zurück, Fehlermeldung (das sollten Sie testen, mitinstanceof
), wenn es auf einen Fehler stößt.danke. Wenn ich drucken Sie es aus, es ist mir "{\"application\":\"admin\",\"keytype\":\"PRODUCTION\",\"callbackUrl\":\"qwerewqr;ewqrwerq;qwerqwerq\",\"authorizedDomains\":\"ALL\",\"validityTime\":\"3600000\",\"retryAfterFailure\":true}"
Antwort bearbeitet, wie pro Ihre Anforderung
Ja, der entgeht, die dort nicht hingehören. Es ist nicht eine C-Zeichenfolge, so entgeht möglicherweise nicht erforderlich (abhängig vom OS und den Befehl analyzer verwendet).
InformationsquelleAutor Ankur Singhal
Versuchen, diese
Dann auf der Kommandozeile
Der out-put ist
InformationsquelleAutor Shailendra