Sending JSON body through POST request in OKhttp in Android -
i have setting okhttpclient , sending request server. , able sending post request server empty body tag.
now, i'm trying send following json object server.
{ "title": "mr.", "first_name":"nifras", "last_name": "", "email": "nfil@gmail.com", "contact_number": "75832366", "billing_address": "", "connected_via":"application" }
for have trying adding okhttpclient library class requestbody
fail sending json object body of http post request. following way have try build body , process post request.
okhttpclient client = new okhttpclient(); requestbody body = new requestbody() { @override public mediatype contenttype() { return applicationcontants.json; } @override public void writeto(bufferedsink sink) throws ioexception { // place add json thought. how } }; request request = new request.builder() .url(applicationcontants.base_url + applicationcontants.customer_url) .post(body) .build();
what way send json object server via post request.
thanks in advance.
try this
add gradle depends compile 'com.squareup.okhttp3:okhttp:3.2.0'
public static jsonobject foo(string url, jsonobject json) { jsonobject jsonobjectresp = null; try { mediatype json = mediatype.parse("application/json; charset=utf-8"); okhttpclient client = new okhttpclient(); okhttp3.requestbody body = requestbody.create(json, json.tostring()); okhttp3.request request = new okhttp3.request.builder() .url(url) .post(body) .build(); okhttp3.response response = client.newcall(request).execute(); string networkresp = response.body().string(); if (!networkresp.isempty()) { jsonobjectresp = parsejsonstringtojsonobject(networkresp); } } catch (exception ex) { string err = string.format("{\"result\":\"false\",\"error\":\"%s\"}", ex.getmessage()); jsonobjectresp = parsejsonstringtojsonobject(err); } return jsonobjectresp; }
parse response
private static jsonobject parsejsonstringtojsonobject(final string strr) { jsonobject response = null; try { response = new jsonobject(strr); } catch (exception ex) { // log.e("could not parse malformed json: \"" + json + "\""); try { response = new jsonobject(); response.put("result", "failed"); response.put("data", strr); response.put("error", ex.getmessage()); } catch (exception exx) { } } return response; }
Comments
Post a Comment