web後台與手機互動資料格式問題

來源:互聯網
上載者:User

標籤:

最近用http+post方式實現了系統間資料互動的需求.常用的方式是 application/json方式直接post json對象如
 
  1. {"siteId":"ZHAN20160329TDLXJND144649","apiSecret":"userid123","workNumber":"FJ-8006-160912-1715-00001","fluetype":"2","apiKey":"yyxt"}
後台可以直接springmvc直接接收並轉為相關vo對象處理.
而在手機與後台互動的情境中遇到一種格式要求
 
  1. 方法名稱:appScanBuildingData
  2. 請求:json字串形式,最外層用data包裹
demo格式範例是
 
  1. data={"alarmDetail":[{"address":"中國","cgi":"CGI0"},{"address":"米國","cgi":"CGI1"},{"address":"日本","cgi":"CGI2"}],"areaCode":"350723","cellNumber":"1599999","cityCode":"350723","lat":"232.545","lon":"98.233","workNO":"ZB33000333337"}
這種資料需要怎麼產生的?
以下說明主要參考https://imququ.com/post/four-ways-to-post-data-in-http.html
這種奇葩的格式要求其實使用的Content-Type: 應該為application/x-www-form-urlencoded;提交的資料按照 key1=val1&key2=val2 的方式進行編碼,key 和 val 都進行了 URL 轉碼.
 
  1. POST http://www.example.com HTTP/1.1
  2. Content-Type: application/x-www-form-urlencoded;charset=utf-8
  3. title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

當以application/json的content-type傳送資料,被傳送的對象只需被json序列化。當以application/x-www-form-urlencoded的方式傳送資料。請求的內容需要以..=..&..=..的格式提交,在 請求體內內容將會自動以”&”和“ = ”進行拆分。

application/x-www-form-urlencoded方式傳輸,後台接收時候可以採用
String data = request.getParameter("data"); 這樣的方式來接受json格式的資料.然後在轉為Object使用: AlarmInfo vo=null;        vo=JSONObject.parseObject(data, AlarmInfo.class);
約定這種格式的初衷估計就是後台為接收資料方便的考慮.
 




來自為知筆記(Wiz)

web後台與手機互動資料格式問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.