我希望使用POST从web服务获得JSON输出。当我在本地主机上尝试这个程序时,它的输出满足了我的要求,但是当我上传到Google时,我试着得到输出,结果是相反的。
{
"Data": {
"token": "****"
},
"AppData": {
"status": "success",
"message": [
""
]
}
}
GAE输出
{
"AppData": {
"status": "success",
"message": [
""
]
},
"Data": {
"token": "****"
}
}
预期产出
public Response getSAppData(int id, String email, String password){
Map<String, AppData> AppDataHM = new HashMap<>();
Map<String, Data> DataHM1 = new HashMap<>();
Map<String, List<String>> DataHM2 = new HashMap<>();
HashMap<Object, Object> ADHMDHM = new HashMap<>();
List<String> message = new ArrayList<>();
Data data = DataHM.get(new AppDataRequest (id, email, password));
List<String> data2 = new ArrayList<>();
if(data != null){
message.add("");
AppDataHM.put("AppData", new AppData("success", message));
DataHM1.put("Data", data);
ADHMDHM.putAll(AppDataHM);
ADHMDHM.putAll(DataHM1);
String ADHMDHM1 = new Gson().toJson(ADHMDHM);
return Response.status(200).entity(ADHMDHM1).build();
}
else{
message.add("Your login information is invalid. Please try with the correct information");
AppDataHM.put("AppData", new AppData("error", message));
DataHM2.put("Data", data2);
ADHMDHM.putAll(AppDataHM);
ADHMDHM.putAll(DataHM2);
String ADHMDHM2 = new Gson().toJson(ADHMDHM);
return Response.status(200).entity(ADHMDHM2).build();
}
}
生成输出的代码。
提前感谢每一个帮助指出错误的用户。
发布于 2017-04-27 04:00:53
为了维护输出序列,您应该使用LinkedHashMap
。因为HashMap
没有维护键或值的排序。但是LinkedHashMap
保留了插入顺序。
尝试将您的代码更改为LinkedHashMap
,然后它就会工作。
https://stackoverflow.com/questions/43648364
复制相似问题