国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中post請求傳遞json數據給服務端的實例

2019-10-22 18:15:53
字體:
來源:轉載
供稿:網友

在最近的項目中有個需求是這樣的:

入參封裝成JSON,EXAMPLE:

{ "uuid": "iamauuid",  "clientType": "AND",  "content": "{/"gender/":/"F/",/"name/":/"TTT/"}"}

其中content中是json的object,且要求把content中特殊的字符進行轉義。

主要代碼如下:

/** * post請求用json的格式傳遞數據給服務器 * * @param callback */public static <T> void postShareContent(Context context, T saveObject, final ShareSaveDataCallback callback) { final String uuid = StringUtils.generateUUID().replaceAll("-", ""); //利用Gson來處json數據和類模型之間的轉化 Gson gson = new Gson(); //把類模型對象轉化成json的數據模式 String contentJson = gson.toJson(saveObject); //用ShareEntity把內容給封裝起來,再處理成json的格式 ShareEntity shareEntity = new ShareEntity(); //uuid本地端生成,有特殊的方法,下面會注解 shareEntity.uuid = uuid; shareEntity.clientType = "AND"; shareEntity.content = contentJson; //再用gson.toJson()處理會自動把第二層的object對象的特殊字符轉義掉 String shareJson = gson.toJson(shareEntity); StringEntity entity = null; try {  //把要傳給后端的json數據,用StringEntity給封裝起來  entity = new StringEntity(shareJson,"UTF-8");  //注明:UTF-8是防止傳給后端時中文出現亂碼 } catch (UnsupportedEncodingException e) {  e.printStackTrace(); } HttpApiClient.postJsonByAccessToken(context, ApiBaseUrl.getShareUrl(), entity, true, new ApiResponseHandler() {  @Override  public void onResponse(boolean success, JsonObject jsonObject, ErrorCode errCode) {   super.onResponse(success, jsonObject, errCode);   callback.onSaveResult(success, uuid, errCode);  } });}

postJsonByAccessToken的方法:

private static AsyncHttpClient mHttpClient = new AsyncHttpClient();public static void postJsonByAccessToken(Context context, String url, StringEntity entity, boolean isCompleterUrl, AsyncHttpResponseHandler handler) { synchronized (mHttpClient) {  addHeader(HEADER_TOKEN, token);  if (!isCompleterUrl) {   url = getCompleteUrl(url);  }  mHttpClient.post(context, url, entity, ApiParam.CONTENT_TYPE_JSON, handler); }}contentType的類型為:application/json/**public interface ApiParam { /**  * json格式  */ String CONTENT_TYPE_JSON = "application/json";}

其中生產本地的uuid方法如下:相當于會自動生產一組隨機數

public static String generateUUID() { return UUID.randomUUID().toString();}

數據代碼的一部分:

{"clientType":"AND", "uuid":"e3ab0260286d442da86da7fac21e1cc7" "content":"{/"matchEventStats/":{/"extraTime/":0,/"timeLineModels/":[{/"downPlayerId/":0,/"id/":2188,/"playerHeadUrl/":/"http://7xj3pr.com1.z0.glb.clouddn.com/registration/user/head/image/rdGsidKZHjPzun6TMrTDyMz7IngTONlQ/",/"playerId/":1147,/"playerName/":/"張宇斌/",/"schoolId/":6,/"timeLineEventType/":/"GOAL/",/"timeMin/":0,/"timeSec/":0,/"upPlayerId/":0},{/"downPlayerHeadUrl/":/"http://7xj3pr.com1.z0.glb.clouddn.com/default/head/useravatar.png/",/"downPlayerId/":1682,/"downPlayerName/":/"林修乾/",/"id/":1209,/"playerId/":0,/"schoolId/":116,/"timeLineEventType/":/"SU/",/"timeMin/":4,/"timeSec/":3,/"upPlayerHeadUrl/":......}

由于數據量比較大,固就顯示一部分的數據來說明問題。

基本就是這樣,快去解決你們的問題吧!

以上這篇Android中post請求傳遞json數據給服務端的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平谷区| 宣恩县| 曲松县| 文成县| 揭东县| 行唐县| 柘荣县| 密云县| 射阳县| 莱阳市| 虹口区| 锡林浩特市| 秭归县| 揭东县| 茶陵县| 大宁县| 墨脱县| 西峡县| 枣阳市| 泸水县| 洪泽县| 富民县| 平顺县| 文登市| 攀枝花市| 遵化市| 汤阴县| 中阳县| 平果县| 广安市| 普兰县| 平利县| 青铜峡市| 金门县| 泰宁县| 南木林县| 岱山县| 修文县| 屏山县| 株洲市| 鄄城县|