Wie konvertiert man String in JSONObject in Java
Habe ich die String-variable namens jsonString
:
{"phonetype":"N95","cat":"WP"}
Nun möchte ich es konvertieren in das JSON-Objekt. Ich suchte mehr über Google, aber nicht alle erwarteten Antworten...
InformationsquelleAutor der Frage Mr. Sajid Shaikh | 2011-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit org.json Bibliothek:
InformationsquelleAutor der Antwort dogbane
Wer noch auf der Suche nach einer Antwort:
InformationsquelleAutor der Antwort Mappan
Können Sie
google-gson
. Details:Objekt Beispiele
(Serialisierung)
Beachten Sie, dass Sie nicht zu serialisieren von Objekten mit Zirkelverweisen da, das führt zu einer unendlichen Rekursion.
(Deserialisierung)
Ein weiteres Beispiel für Gson:
Gson ist einfach zu lernen und umzusetzen, die Sie wissen müssen, ist die folgenden zwei Methoden:
-> toJson() – umwandeln von java-Objekt in JSON-format
-> fromJson() – konvertieren von JSON in java-Objekte
Ausgabe
Ressourcen:
Google Gson Projekt-Homepage
Gson-Benutzerhandbuch
Beispiel
InformationsquelleAutor der Antwort kamaci
Gibt es verschiedene Java JSON-serialisierungsprogramme und deserializers Zusammenhang von der JSON-Homepage.
Als dies geschrieben wurde, gibt es diese 20:
...aber natürlich kann die Liste ändern.
InformationsquelleAutor der Antwort T.J. Crowder
Java 7 Lösung
;
InformationsquelleAutor der Antwort RSG
Verwende ich gerne google-gson für dieses, und es ist, gerade weil ich nicht brauchen, um die Arbeit mit JSONObject direkt.
In diesem Fall würde ich eine Klasse, die entsprechend der Eigenschaften des JSON-Objekts
Aber ich denke, deine Frage ist mehr wie, Wie kann ich endup mit einem tatsächlichen JSONObject-Objekt aus einer JSON-String.
Schaute ich mir die google-json-api und konnte nichts finden, wie geradlinig, wie
org.json-api, das ist wahrscheinlich das, was Sie wollen zu verwenden, wenn Sie so dringend benötigen, mit einem Barebone-JSONObject.
http://www.json.org/javadoc/org/json/JSONObject.html
Mit org.json.JSONObject (völlig anderen API) Wenn Sie wollen, etwas zu tun, wie...
Ich denke, das schöne an google-gson ist, dass Sie nicht brauchen, um deal mit JSONObject. Greifen Sie einfach json übergeben Sie die Klasse, zu wollen, zu Deserialisieren, und Ihre Attribute der Klasse abgestimmt werden, um die JSON -, aber dann wieder, jeder hat seine eigenen Anforderungen, können Sie vielleicht nicht den Luxus leisten, pre-mapped-Klassen auf dem Deserialisieren Seite, weil Dinge könnten auch dynamisch auf die JSON Generieren Seite. In diesem Fall verwenden Sie einfach json.org.
InformationsquelleAutor der Antwort Gubatron
müssen Sie den import org.json
InformationsquelleAutor der Antwort Cabezas
Konvertieren
String
inJSONObject
Sie gerade brauchen, um passieren dieString
Instanz in KonstruktorJSONObject
.ZB:
InformationsquelleAutor der Antwort Charu
Wenn Sie http://json-lib.sourceforge.net
(net.sf.json.JSONObject)
ist es ziemlich einfach:
oder
Holen Sie sich die Werte dann mit
json.getString(param), json.getInt(param) und so weiter.
InformationsquelleAutor der Antwort Thero
Verwenden JsonNode von fasterxml für die Generische Json-Parsing. Es entsteht intern eine Karte von Schlüssel-Wert-für alle Eingänge.
Beispiel:
input String :
InformationsquelleAutor der Antwort Vishnu
Konvertieren einen string zu json und der Stachel ist wie json. {"phonetype":"N95","cat":"WP"}
InformationsquelleAutor der Antwort Aravind Cheekkallur
Zur Einstellung json-einzelnes Objekt auf der Liste
ie
in
List<Location>
verwenden
jackson.mapper-asl-1.9.7.jar
InformationsquelleAutor der Antwort user3012570
BEACHTEN Sie, dass GSON mit deserialisiert eine Schnittstelle führen Ausnahme wie unten.
Beim Deserialisieren; GSON nicht wissen, welches Objekt intantiated für die Schnittstelle.
Diese behoben ist irgendwie hier.
Jedoch FlexJSON hat dieser Lösung inhärent. beim serialisieren Zeit, es ist das hinzufügen der Klasse den Namen als Teil von json wie folgt Aussehen.
Also JSON wird cumber einige, aber Sie brauchen nicht schreiben
InstanceCreator
welche erforderlich ist, GSON.InformationsquelleAutor der Antwort Kanagavelu Sugumar
Müssen nicht jede externe Bibliothek.
Sie können diese Klasse verwenden, stattdessen 🙂 (Griffe sogar Listen , geschachtelte Listen und json)
Konvertieren Sie Ihre JSON-string, hashmap verwenden :
InformationsquelleAutor der Antwort Natesh bhat
Besser Gehen, mit mehr einfacheren Weg, indem Sie
org.json
lib. Nur tun, eine sehr einfache Methode, wie folgt:Nun
obj
ist Ihre konvertiertenJSONObject
form Ihrer jeweiligen String. Dieser ist im Falle dass, wenn Sie name-Wert-Paaren.Nach einer Zeichenfolge können Sie direkt übergeben an den Konstruktor von
JSONObject
. Wenn es eine gültigejson String
dann okay, ansonsten werde es eine Ausnahme.InformationsquelleAutor der Antwort TheLittleNaruto