0

我有一个与 Web 服务连接的应用程序。我通过 Json 发送一些数据:

            try {


            JSONObject jsonObject = new JSONObject();
            jsonObject.put("token", regId);
            jsonObject.put("appId", GlobalConfig.getAPPLICATION_ID());
            jsonObject.put("phoneId", 1);

            JSONArray jArrayParam = new JSONArray();
            jArrayParam.put(jsonObject);

            List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
            nameValuePair.add(new BasicNameValuePair("Token",jArrayParam.toString()));

            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(GlobalConfig.getSendEmail());
              httppost.addHeader("Authorization", "Basic " + Base64.encodeToString(
                        (GlobalConfig.getAuthString()).getBytes(),Base64.NO_WRAP));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePair, HTTP.UTF_8));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);

        } catch (Exception e) {
            // TODO: handle exception
        }

我怎样才能看到这个 json 的外观?我想服务器看到这样的东西:

{"Token": [
{

"token": "asdasfasf",

"appId": 8.8,

"phoneId": 142.369,

}
4

3 回答 3

1

创建 json 对象为:

 JSONObject jsonObject = new JSONObject();
 jsonObject.put("token", regId);
 jsonObject.put("appId", GlobalConfig.getAPPLICATION_ID());
 jsonObject.put("phoneId", 1);

 JSONArray jArrayParam = new JSONArray();
 jArrayParam.put(jsonObject);

 JSONObject finaljsonobj = new JSONObject();

 finaljsonobj.put("Token", jArrayParam);

现在finaljsonobjJSON 对象看起来像:

{
  "Token": [
    {
      "token": "asdasfasf",
      "appId": 8.8,
      "phoneId": 142.369,

    }
  ]
}
于 2012-12-18T15:42:24.087 回答
0

使用JSON.stringify(json_object).

于 2012-12-18T15:32:13.970 回答
0

让我们假设您的 JSON 实际上是有效的(不是),并且您有一个功能完善的 JSONObject。如果你想在控制台中看到它,你只需要这样做:

System.out.println(myAwesomeJSONObject.toString(2));

那 1 是指缩进空格的数量。我喜欢它有 2 个缩进空格,但这是个人品味和可读性的问题。

于 2012-12-18T15:41:43.050 回答