1

サーバーからの応答を取得するためにJSONを使用しています。これはコードです:

HttpClient httpclient = new DefaultHttpClient();
        HttpClient httpclient2 = new DefaultHttpClient();
        HttpResponse response;
        HttpResponse response2;
        try {
            HttpGet request = new HttpGet(GlobalConfig.getMagazineUrl());
            HttpGet request2 = new HttpGet(GlobalConfig.getMagazinePagesUrl(1));

            request.addHeader("Authorization", "Basic " + Base64.encodeToString(
                                            (GlobalConfig.getAuthString()).getBytes(),Base64.NO_WRAP));
            request2.addHeader("Authorization", "Basic " + Base64.encodeToString(
                    (GlobalConfig.getAuthString()).getBytes(),Base64.NO_WRAP));
            response = httpclient.execute(request);
            StatusLine statusLine = response.getStatusLine();
            response2 = httpclient2.execute(request2);
            StatusLine statusLine2 = response2.getStatusLine();

            if(statusLine.getStatusCode() == HttpStatus.SC_OK && statusLine2.getStatusCode() == HttpStatus.SC_OK){
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                ByteArrayOutputStream out2 = new ByteArrayOutputStream();

                response.getEntity().writeTo(out);
                response2.getEntity().writeTo(out2);

                out.close();
                out2.close();
                return parser(out.toString(), out2.toString());

ご覧のとおり、parser(out.toString(), out2.toString())両方の応答を文字列として返します。この2つのJSON応答を1つにマージする方法を知りたいです。2つの文字列をマージしたくないので、1つの大きな応答で2つのJSON応答をマージする必要があります。これは可能ですか?はいの場合、どうすればそれができますか?

4

1 に答える 1

4

おそらくそれはあなたが望むものです:

...
JSONObject json = new JSONObject();
json.put("response1", new JSONObject(out.toString()));
json.put("response2", new JSONObject(out2.toString()));

ここで、リターンタイプに応じて、またはリターンします。json.toString()json

于 2012-11-13T12:45:12.617 に答える