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

首頁(yè) > 系統(tǒng) > Android > 正文

Android中post請(qǐng)求傳遞json數(shù)據(jù)給服務(wù)端的實(shí)例

2019-12-12 01:12:31
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在最近的項(xiàng)目中有個(gè)需求是這樣的:

入?yún)⒎庋b成JSON,EXAMPLE:

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

其中content中是json的object,且要求把content中特殊的字符進(jìn)行轉(zhuǎn)義。

主要代碼如下:

/** * post請(qǐng)求用json的格式傳遞數(shù)據(jù)給服務(wù)器 * * @param callback */public static <T> void postShareContent(Context context, T saveObject, final ShareSaveDataCallback callback) { final String uuid = StringUtils.generateUUID().replaceAll("-", ""); //利用Gson來(lái)處json數(shù)據(jù)和類(lèi)模型之間的轉(zhuǎn)化 Gson gson = new Gson(); //把類(lèi)模型對(duì)象轉(zhuǎn)化成json的數(shù)據(jù)模式 String contentJson = gson.toJson(saveObject); //用ShareEntity把內(nèi)容給封裝起來(lái),再處理成json的格式 ShareEntity shareEntity = new ShareEntity(); //uuid本地端生成,有特殊的方法,下面會(huì)注解 shareEntity.uuid = uuid; shareEntity.clientType = "AND"; shareEntity.content = contentJson; //再用gson.toJson()處理會(huì)自動(dòng)把第二層的object對(duì)象的特殊字符轉(zhuǎn)義掉 String shareJson = gson.toJson(shareEntity); StringEntity entity = null; try {  //把要傳給后端的json數(shù)據(jù),用StringEntity給封裝起來(lái)  entity = new StringEntity(shareJson,"UTF-8");  //注明:UTF-8是防止傳給后端時(shí)中文出現(xiàn)亂碼 } 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的類(lèi)型為:application/json/**public interface ApiParam { /**  * json格式  */ String CONTENT_TYPE_JSON = "application/json";}

其中生產(chǎn)本地的uuid方法如下:相當(dāng)于會(huì)自動(dòng)生產(chǎn)一組隨機(jī)數(shù)

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

數(shù)據(jù)代碼的一部分:

{"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/":......}

由于數(shù)據(jù)量比較大,固就顯示一部分的數(shù)據(jù)來(lái)說(shuō)明問(wèn)題。

基本就是這樣,快去解決你們的問(wèn)題吧!

以上這篇Android中post請(qǐng)求傳遞json數(shù)據(jù)給服務(wù)端的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荆州市| 桐庐县| 高要市| 额尔古纳市| 宜良县| 安平县| 巴林左旗| 吴堡县| 东阿县| 高碑店市| 富川| 明水县| 闽侯县| 项城市| 南丹县| 大关县| 阜宁县| 苏尼特右旗| 偃师市| 新昌县| 沙湾县| 正安县| 横峰县| 东乌| 克山县| 临邑县| 阜阳市| 房山区| 兰考县| 佛山市| 苗栗县| 横山县| 瓦房店市| 沅江市| 合川市| 丘北县| 工布江达县| 灵台县| 罗源县| 栾川县| 犍为县|