Wie konvertiert anzeigen von JSON-Objekten in JSON mit GSON in Java?

Ich habe eine Karte von JSON-Objekten wie folgt:

Map<String,Object> map = HashMap<String,Object>();
map.put("first_name", "prod");
JSONObject jsonObj = new JSONObject("some complex json string here");
map.put("data", jsonObj);

Gson gson = new Gson();
String result = gson.toJson(map);

Nun, wenn die "einige komplexe JSON-string hier" war:

{"sender":{"id":"test test"},"recipients":{"id":"test1 test1"} }

und führen Sie obigen code gibt mir so etwas wie:

{
    "first_name": "prod",
    "data": {
        "map": {
            "sender": {
                "map": {
                    "id": "test test"
                    }
                }
            },
            "recipients": {
                "map": {
                    "id": "test1 test1"
                }
            }
        }
    }
}

Ich hätte einige syntax-Fehler da oben, aber im Grunde weiß ich nicht warum ich sehe Objekte gewickelt map's.

Update

laut Kommentaren, ist es eine schlechte Idee ist ein mix aus unterschiedlichen json-Parser.
das kann ich verstehen. aber mein Fall erfordert den Aufruf einer externen api, die eine hash-map-Objekten deserialisiert mit gson schließlich.

ist es wie jedes andere Objekt neben JSONObject, dass ich hinzufügen kann zu der Karte und haben noch gson erstellen json aus der es ohne zusätzliche " map " - Struktur? ich verstehe, dass ich java beans und erreichen diese. aber ich bin auf der Suche nach einem einfacheren Weg, da meine Datenstruktur sehr Komplex sein kann.

Update2

geht einen Schritt zurück, ich bin da ein xml-string. und ich habe Sie konvertiert json-Objekt.
jetzt habe ich eine externe api, die eine Karte, die wiederum umgewandelt wird, um json-string mittels gson im externen service.

so, ich bin da eine xml-Datenstruktur, aber ich muss pass eine map, die Funktion. die Möglichkeit habe ich oben beschrieben erzeugt zusätzliche "Karte" - Strukturen werden bei der Konvertierung nach json string mittels gson. ich habe nicht die Kontrolle zu ändern, wie der externe Dienst verhält (z.B. mittels gson zu konvertieren, anzeigen).

Mischen von Klassen aus zwei verschiedenen JSON-parsing-libraries ist ein Rezept für eine Katastrophe.
Müsstest du uns ein Beispiel geben von der HashMap Inhalte und das, was Sie wollen, um es hinzuzufügen. Es ist nicht klar genau, was Sie wollen.
ich bin versuchen, um eine hashmap, die umgewandelt werden können, um json-Strings, der später mit gson. aber für meinen Bedarf, brauche ich, um zu erstellen, anzeigen, und nicht den json-string. ich brauche nur zu wissen, dass diese Karte "kann" umgewandelt werden, um json-string mittels gson mit extra " Karte

InformationsquelleAutor Prod Tester | 2014-01-21

Schreibe einen Kommentar