Ich versuche, eine Object
von seinen Feldern neu zu erstellen (i erhalten die Felder als JSONObject), etwa so:Strange „nameValuePairs“ Taste angezeigt werden, wenn Gson mit
JSONObject jObj = new JSONObject();
JSONObject jObj1 = new JSONObject();
JSONObject jObj2 = new JSONObject();
JSONObject jObj21 = new JSONObject();
JSONObject jObj22 = new JSONObject();
jObj1.put("jObj11", "value11");
jObj1.put("jObj12", "value12");
jObj21.put("jObj211", "value211"); // level 2
jObj21.put("jObj212", "value212");
jObj21.put("jObj213", "value213");
jObj22.put("jObj221", "value221");
jObj22.put("jObj222", "value222");
jObj22.put("jObj223", "value223");
jObj2.put("jObj21", jObj21); // level 1
jObj2.put("jObj22", jObj22);
jObj.put("jObj1", jObj1); // level 0
jObj.put("jObj2", jObj2);
ich diese Zeilen Json bekommen von einem Obeject
GsonBuilder builder = new GsonBuilder();
Gson gSon = builder.create();
gSon.toJSon(jObj);
das Problem ist, wenn ich die Haupt Object
(jObj) mit Gson analysieren, i "nameValuePairs"
einen zusätzlichen Schlüssel mit dem Namen gefunden. Also warum bekomme ich diesen Schlüssel?
Hinweis:
- Wenn ich tun:
jObj.toString();
auf Log, dieser Schlüssel verschwinden. - Wenn ich es tue:
jObj.opt("nameValuePairs");
Ich habe Null als Ergebnis (wie es gibt keinen Schlüssel namens "nameValuePairs").
Das ist mein tatsächliches Ergebnis:
Und das ist, was ich erwarten:
Ich fand something similar to my problem, aber es hilft nicht.
Gibt es jemanden, der eine Lösung/Workaround hat oder mir den Ursprung dieses Schlüssels erklären kann?
Danke.
Ja ... es funktioniert mit 'JsonObject', vielen Dank! – Rami
Diese Tricks haben mir sehr geholfen –