Я пытаюсь перестроить Object
из его полей (я получаю поля как JSONObject), примерно так:
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);
Я использую эти строки, чтобы получить Json из Obeject
GsonBuilder builder = new GsonBuilder();
Gson gSon = builder.create();
gSon.toJSon(jObj);
Проблема заключается в том, когда я разбираю основной Object
(jObj) с Gson, я нашел дополнительный ключ с именем "nameValuePairs"
. Так почему я получаю этот ключ?
Примечание
- Если я делаю:
jObj.toString();
в журнале, этот ключ исчезает. - Если я делаю:
jObj.opt("nameValuePairs");
, у меня есть Null как результат (например, нет ключа с именем "nameValuePairs" ).
Это мой фактический результат:
И вот что я ожидаю:
Я нашел нечто похожее на мою проблему, но это не помогает.
Есть ли кто-нибудь, у кого есть решение/обходное решение или может объяснить мне происхождение этого ключа?
Спасибо.