使用Gson时出现奇怪的“nameValuePairs”键
我正在尝试从其字段重建一个(我将字段作为JSONObject获取),如下所示:Object
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);
我使用这些行从Obeject
GsonBuilder builder = new GsonBuilder();
Gson gSon = builder.create();
gSon.toJSon(jObj);
问题是当我用Gson解析main(jObj)时,我发现了一个名为的额外键。那么为什么我会得到这个钥匙呢?Object
"nameValuePairs"
注意:
- 如果我这样做:在日志上,这个键消失了。
jObj.toString();
- 如果我这样做:我有Null作为结果(就像没有名为“nameValuePairs”的键一样)。
jObj.opt("nameValuePairs");
这是我的实际结果:
这就是我期望拥有的:
我发现了与我的问题类似的问题,但它没有帮助。
是否有人有解决方案/解决方法,或者可以向我解释此密钥的来源?
谢谢。