次の JSON をサーバーにアップロードしようとしました。
{
"sign": "cancer",
"date": 30,
"month": 10,
"year": 2013,
"reading": "vQdKU0SufpGmvkkyfvkdUr&yg/ rodatmifvkyfav ay:avjzpfrnf/ olwpfyg; rodapvkdaom udpörsm;udk rvkyfavaumif;avjzpfrnf/ vltrsm; olwpfyg;\ pdwf0ifpm;p&m jzpfaewufonf/ aiGaMu;udpö owdxm;NyD; udkifwG,fyg/ vuf0,faiGaysufaomaMumifh Mum;pdkufavsmf&udef; MuHKrnf/"
}
サーバーは HTTP 400 を返します。
JSON をサーバーで受け入れられるようにするために必要な変更はありますか?
アップロードを実行するコードは次のとおりです。
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
String input = "{\"sign\": \"" + reading.getSign() + "\"" + ", \"date\": "
+ reading.getDate() + ", \"month\": " + reading.getMonth()
+ ", \"year\": " + reading.getYear()
+ ", \"reading\": \"" + reading.getReading() + "\"}";
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}