1

Java Servelt で Android からHttpEntityとして送信された JSON オブジェクトを取得しているときに問題に直面しています。以下は私のコードです

Android コード:

**

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("order", d));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));    
httpResponse = httpClient.execute(httpPost);

**

サーブレット コード:

InputStream in = request.getInputStream();
    StringBuffer xmlStr=new StringBuffer();
    int d;
    while((d=in.read()) != -1){
              xmlStr.append((char)d);
    }
    System.out.println("xmlStr1--"+xmlStr.toString());

上記の servelt コードのステートメントは、データを JSON に出力しますが、すべてのガベージ値は次のようになります

xmlStr1--order=%7B%22orderno%22%3A%223%22%2C%22tableid%22%3A%227%22%2C%22kotid%22%3A%223%22%2C%22stewardid%22%3A% 223%22%2C%22アイテム%22%3A%220%22%7D

アプリからHttpEntityとして送信されるこの JSON を取得するのを手伝ってください。

4

2 に答える 2

1

データが JSON 形式または XML 形式ではありません。コードは URL エンコード形式を作成します。 URL エンコードとデコード Java の特殊文字は、作成したものをデコードするコードを表しますが、そのコードには独自の問題があります。

NameValuePair リストを JSON 形式でエンコードする場合は、Android では GSON を使用し、サーブレットでは GSON または Jackson を使用できます。https://code.google.com/p/google-gson/およびhttp://jackson.codehaus.org/を参照してください。

于 2013-03-17T18:38:55.437 に答える
0

単に使用する必要があります

String order = request.getParameter("order");
于 2013-03-17T18:38:44.663 に答える