{"名称":"ValidateUserName","消息":{"用户名":"p"}}
我如何将这些参数设置为json格式,以便将参数动态传递给AsyncHTTPClient post方法。
使用以下方法给出错误的json输出
HashMap<String, String> param = new HashMap<String, String>();
JSONObject jsonvalue =new JSONObject();
try {
jsonvalue.put("Name","ValidateUserName");
} catch (JSONException e1) {
e1.printStackTrace();
}
try {
jsonvalue.put("Message",param);
} catch (JSONException e1) {
e1.printStackTrace();
}
输出:{"名称":"ValidateUserName","消息":"{用户名=amsecmobileuser}"}
有人能说出为什么产出不如预期吗。。。。。。。
您必须为Message创建另一个JSONObject。试试这个:
HashMap<String, String> param = new HashMap<String, String>();
param.put("username", "p");
JSONObject jsonvalue = new JSONObject();
try {
jsonvalue.put("Name", "ValidateUserName");
} catch (JSONException e1) {
e1.printStackTrace();
}
try {
JSONObject messageObj = new JSONObject();
messageObj.put("UserName", param.get("username"));
jsonvalue.put("Message", messageObj);
} catch (JSONException e1) {
e1.printStackTrace();
}