0

{“名称”:“验证用户名”,“消息”:{“用户名”:“p”}}

我怎样才能将这些参数转换为 json 格式以将参数动态传递给 AsyncHTTPClient 发布方法。

使用下面的方法会给出错误的 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();
        }

输出: { "Name":"ValidateUserName", "Message":" { UserName=amsecmobileuser } " }

谁能说出为什么输出不符合预期.......

4

1 回答 1

1

您必须为 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();
    }
于 2014-06-06T07:57:06.543 回答