Einen JSON-String in Java ME in ein Objekt umwandeln?

Gibt es eine Möglichkeit, in Java/J2ME eine Zeichenkette zu konvertieren, wie z. B.:

{name:"MyNode", width:200, height:100}

in eine interne Objektrepräsentation desselben in einer einzigen Codezeile umzuwandeln?

Weil die derzeitige Methode zu mühsam ist:

Object n = create("new");
setString(p, "name", "MyNode");
setInteger(p, "width", 200);
setInteger(p, "height", 100);

Vielleicht eine JSON-Bibliothek?

Lösung

Ich habe einige von ihnen verwendet und mein Favorit ist,

http://code.google.com/p/json-simple/

Die Bibliothek ist sehr klein, so dass sie perfekt für J2ME ist.

Sie können JSON in Java-Objekt in einer Zeile wie folgt parsen,

JSONObject json = (JSONObject)new JSONParser().parse("{\"name\":\"MyNode\", \"width\":200, \"height\":100}");
System.out.println("name=" + json.get("name"));
System.out.println("width=" + json.get("width"));
Kommentare (3)

Sie haben viele JSON-Parser für Java:

  • JSONObject.java Ein JSONObject ist eine ungeordnete Sammlung von Name/Wert-Paaren. Seine äußere Form ist eine in geschweifte Klammern eingeschlossene Zeichenkette mit Doppelpunkten zwischen den Namen und Werten und Kommas zwischen den Werten und Namen. Die interne Form ist ein Objekt mit get()- und opt()-Methoden für den Zugriff auf die Werte nach Namen und put()-Methoden für das Hinzufügen oder Ersetzen von Werten nach Namen. Die Werte können von jedem dieser Typen sein: Boolean, JSONArray, JSONObject, Number und String oder das JSONObject.NULL-Objekt.

  • JSONArray.java Ein JSONArray ist eine geordnete Folge von Werten. Seine äußere Form ist eine in eckige Klammern eingeschlossene Zeichenfolge mit Kommas zwischen den Werten. Die interne Form ist ein Objekt mit get()- und opt()-Methoden für den Zugriff auf die Werte nach Index und put()-Methoden für das Hinzufügen oder Ersetzen von Werten. Die Werte können von jedem der folgenden Typen sein: Boolean, JSONArray, JSONObject, Number und String oder das JSONObject.NULL-Objekt.

  • JSONStringer.java Ein JSONStringer ist ein Werkzeug zur schnellen Erstellung von JSON-Text.

  • JSONWriter.java]5 Ein JSONWriter ist ein Werkzeug zum schnellen Schreiben von JSON-Text in Streams.

  • JSONTokener.java]6 Ein JSONTokener nimmt eine Quellzeichenkette und extrahiert Zeichen und Token aus ihr. Er wird von den JSONObject- und JSONArray-Konstruktoren zum Parsen von JSON-Quellzeichenfolgen verwendet.

  • JSONException.java Eine JSONException wird ausgelöst, wenn ein Syntax- oder Verfahrensfehler entdeckt wird.

  • JSONString.java]8 JSONString ist eine Schnittstelle, die es Klassen ermöglicht, ihre JSON-Serialisierung zu implementieren.

Kommentare (6)

Abgesehen von www.json.org können Sie auch Ihren eigenen Parser mit javacc implementieren und Ihre eigene Grammatik/ Ihr eigenes Schema anpassen. Siehe diese Notiz in meinem Blog: http://plindenbaum.blogspot.com/2008/07/parsing-json-with-javacc-my-notebook.html

Kommentare (2)