2017-02-21 43 views
-1

Я использую okhttp3.RequestBody для отправки запроса на сервер, если у меня есть JSONObject данных мне нужно отправить Я пишу такой код:Как создать RequestBody из JSONObject?

RequestBody requestBody = new MultipartBody.Builder() 
           .setType(MultipartBody.FORM) 
           .addFormDataPart("id", object.optLong(Comment.TASK_ID_JSON_TAG) + "") 
           .addFormDataPart("type", "IMAGE") 
           .addFormDataPart("latitude", object.optDouble(Comment.LATITUDE_JSON_TAG) + "") 
           .addFormDataPart("longitude", object.optDouble(Comment.LONGITUDE_JSON_TAG) + "") 
           .build(); 

теперь, если у меня есть JSONObject с большими данными есть способ создать RequestBody напрямую?
спасибо за помощь.

+0

пожалуйста, прочитайте эти: [page1] (http://stackoverflow.com/help/how-to-ask) [стр.2] (http://stackoverflow.com/ help/mcve) [page3] (http://stackoverflow.com/help/on-topic) –

+0

Хорошо, я сделал, в чем проблема в моем вопросе? Разве это не ясно? – Tefa

+0

Да, не ясно, я принимаю, что любой поймет, что вам нужно. Вместо этого предоставите свою работу и укажите, что именно вы пытаетесь достичь. –

ответ

0

Возможно, вы можете опубликовать весь объект json в одном параметре и отправить его на сервер.

проверить это https://stackoverflow.com/a/34180100/1067963

public static final MediaType JSON 
    = MediaType.parse("application/json; charset=utf-8"); 

OkHttpClient client = new OkHttpClient(); 

String post(String url, String json) throws IOException { 
    RequestBody body = RequestBody.create(JSON, json); 
    Request request = new Request.Builder() 
     .url(url) 
     .post(body) 
     .build(); 
    Response response = client.newCall(request).execute(); 
    return response.body().string(); 
} 
+0

спасибо, я попробую – Tefa