1

Webservice から文字列値を取得しています & Android を使用して Edittext に文字列値を表示しようとしています。値を表示することはできましたが、二重引用符が表示されます。例: "12.12".以下は私が行ったコードです.誰でも私の間違いを案内できますか.よろしくお願いします.

//Get the response
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
InputStream stream=httpEntity.getContent();
//Convert the stream to readable format
result= convertStreamToString(stream);
    cText.setText(result);

public String convertStreamToString(InputStream is) 
 {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } 
    catch (IOException e) {
        e.printStackTrace();
    } 
    finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}
4

3 に答える 3

1

二重引用符を使用してWebサービスから出力を取得しているためだと思います。直面している唯一の問題がresult文字列に二重引用符が含まれていることだけである場合は、次のコードを使用して二重引用符を簡単に削除できます。

    String result = convertStreamToString(stream);
    result = result.replace("\"","\\\"");
    System.out.println(result);    //Result string without double quotes

これが役立つことを願っています..ありがとう..

于 2012-10-16T06:52:39.793 に答える
0

たぶん、Web サービスから引用符で送信しています。引用符を取り除くには、 \" でエスケープできます。InputStreamReader のコンテンツは、常に Web サービスから読み取ったものになります。これにより、文字列に "" が追加されることはありません。したがって、Web サービスの問題である必要があります。

于 2012-10-16T06:50:38.060 に答える