想要的数据格式为:
[{"第一章":[{"1_第一节":["sectionId": 1]},{"1_第二节":[sectionId": 2]} },
{"第二章":[{"2_第一节":["sectionId": 3]},{"2_第二节":[sectionId": 4]]} }]
Map<String,Object> dataMap = new HashMap<>();
Map<String,Object> sectionMap = new HashMap<>();
sectionMap.put("1_第一节", new HashMap<String,Integer>().put("sectionId",1));
sectionMap.put("1_第二节", new HashMap<String,Integer>().put("sectionId",2));
dataMap.put("第一章", sectionMap);
此时dataMap中添加sectionMap,会因sectionMap的改变dataMap也会变化,它只是引用了sectionMap,而不是将其中的值传了进去,能想象到的一种方法是用jsonObject。(可能应该有其它方法)可能在前后台数据传递json类数据时,jsonobject可能更方便些。
发现一个有趣的现象,原本以为第一个花费的时间会比第二种少,没想到正好相反。具体原因不知道,我猜是第一种方法,是在执行add方法时还要在执行一个discard方法,这样会占用更多的内存,又或许是因为java里的某种机制原因。
// 花费时间:446 470 409 505
// JSONObject jsonObject = (JSONObject) jsonArray.get(i);
// jsonArray1.add(jsonObject.discard("contents"));
//
// 花费时间:410 387 399
// JSONObject jsonObject = (JSONObject) jsonArray.get(i);
// JSONObject jsonObject2 =jsonObject.discard("contents");
// jsonArray1.add(jsonObject2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)