Как отправить json запросом post?

373
26 ноября 2016, 19:14

Добрый день, подскажите пытаюсь отправить json для этого использую данную конструкцию

 JSONObject jsonObject = new JSONObject();
    jsonObject.put("name", "foo");
    jsonObject.put("num", new Integer(100));
    jsonObject.put("balance", new Double(1000.21));
    jsonObject.put("is_vip", new Boolean(true));
 StringWriter out = new StringWriter();
    jsonObject.writeJSONString(out);

    HttpClient client = new DefaultHttpClient();
    HttpPost http = new HttpPost(url);
    List nameValuePairs = new ArrayList(1);
    nameValuePairs.add(new BasicNameValuePair("type", out.toString()));
    http.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    String response = (String) client.execute(http, new BasicResponseHandler());
    System.out.println(response);

но сервер пишет

{"error":{"id":3,"text":"no param name, no param num, no param balance,  no param is_vip"}} 

в чём причина ?

Answer 1

Попробуйте так:

    StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON);
    HttpPost httpPost = new HttpPost(url);
    httpPost.setEntity(entity);
    HttpResponse response = new DefaultHttpClient().execute(httpPost);
READ ALSO
Как повторить ввод с клавиатуры, при исключении

Как повторить ввод с клавиатуры, при исключении

Подскажите как, повторять ввод строки, если ее нельзя преобразовать в тип int или double

353
Кнопка назад в приложении

Кнопка назад в приложении

Решил добавить кнопку "Назад" в своём приложенииПрописал всё согласно офф

285
Нехватка памяти?

Нехватка памяти?

Имеется 5 картинок помещенных в GrieView, но страницка не открывается сразу крашЭто на эмуляторах а на реальном девайсе все работает

256
Нагрузочное тестирование WS сервера

Нагрузочное тестирование WS сервера

В данный момент разрабатываю WebSocket сервер, реализующий модель "издатель - подписчик" (то есть, сервер только отсылает информацию клиентам,...

298