国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广昌县| 青田县| 翁源县| 聂拉木县| 开平市| 南川市| 托克托县| 奉化市| 南安市| 聂拉木县| 治县。| 望都县| 清远市| 滕州市| 维西| 北碚区| 贡觉县| 呼图壁县| 兰考县| 庆安县| 桂东县| 丹巴县| 菏泽市| 沂源县| 台北县| 共和县| 新乡市| 肃北| 阳原县| 正阳县| 祁阳县| 龙口市| 三台县| 孙吴县| 罗城| 陕西省| 呼图壁县| 海盐县| 铜陵市| 辉县市| 永吉县|