私はアンドロイドアプリでjsonデータを持っていて、ポート番号80の一部のIPアドレスに渡したいと思っています。下のコードでは、問題なくStringデータを送信できますが、jsonデータを渡そうとすると、私は エラー "インデックス22で、クエリ内の不正な文字を:http://192.168.x.x:80/ {" MainUi ":{" IPアドレス ":" 192.168.xxの」、 "メッセージ": "11月"、.....}アンドロイドからJSONデータをIPアドレス(192.168.2.1:80など)に送信する方法は?
private class TaskRun extends AsyncTask<String, Void, String> {
String server;
TaskEsp(String server) {
this.server = server;
}
@Override
protected String doInBackground(String... params) {
String val = params[0];
System.out.print(val);
final String p = "http://" + server + "/" + val;
runOnUiThread(new Runnable() {
@Override
public void run() {
Log.v(TAG, p);
}
});
String serverResponse = "";
HttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpGet = new HttpGet();
httpGet.setURI(new URI(p));
HttpResponse httpResponse = httpclient.execute(httpGet);
InputStream inputStream = null;
inputStream = httpResponse.getEntity().getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
serverResponse = bufferedReader.readLine();
inputStream.close();
} catch (URISyntaxException e) {
e.printStackTrace();
serverResponse = e.getMessage();
} catch (ClientProtocolException e) {
e.printStackTrace();
serverResponse = e.getMessage();
} catch (IOException e) {
e.printStackTrace();
serverResponse = e.getMessage();
}
return serverResponse;
}
JSON上の任意のIPアドレスに文字列にデータを送信???? –