此代码使用带有两个List<String>
的地图
在Map<String, List<?>>
内
我需要获得一个带有此订单的输出 ttPrm,ttDet ,我得到的是 ttDet,ttPrm 。
这是我的代码
String parametroGSON ="";
try {
Map<String, List<?>> mapa = new HashMap<String, List<?>>();
mapa.put("ttPrm", listParam);
mapa.put("ttDet", ListaArt);
parametroGSON = new Gson().toJson(mapa);
} catch (Exception e) { }
System.out.println(json);
输出:
{"ttDet":[{"dsArticulo":"PEPSI 500 X 12 PET"}],"ttPrm":[{"accion":"upd","cod_depo":"1"}]}
我需要这个输出
{"ttPrm":[{"accion":"upd","cod_depo":"1"}] ,"ttDet":[{"dsArticulo":"PEPSI 500 X 12 PET"}]}
如何获得此输出?这个新的Gson()。toJson(mapa);这个顺序是按字母顺序的?我可以有任意订单吗?
答案 0 :(得分:2)
使用LinkedHashMap可能有所帮助。尝试
String parametroGSON ="";
try {
Map<String, List<?>> mapa = new LinkedHashMap<String, List<?>>();
mapa.put("ttPrm", listParam);
mapa.put("ttDet", ListaArt);
parametroGSON = new Gson().toJson(mapa);
} catch (Exception e) { }
System.out.println(json);
代替。
根据具体要求,另一个地图可能有用,LinkedHashMap保持插入顺序(与LinkedHashSet相同)。