當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
服务器和前台采用JSON通讯
生活随笔
收集整理的這篇文章主要介紹了
服务器和前台采用JSON通讯
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
封裝實體類(服務器返回信息都存放在該實體中)
package?com.chinaseacom.store.common;public?class?ResponseBody?{public?static?final?int?CODE_SUCCESS=1;public?static?final?int?CODE_FAIL=0;private?int?code=1;???//0:failtrue;?1:successprivate?String?message;?//private?String?errors;private?String?accessToken;private?Object?result;public?ResponseBody(int?code,?String?message,?String?errors,?Object?result,?String?accessToken)?{super();this.code?=?code;this.message?=?message;this.errors?=?errors;this.result?=?result;this.accessToken?=?accessToken;}public?String?getAccessToken()?{return?accessToken;}public?void?setAccessToken(String?accessToken)?{this.accessToken?=?accessToken;}/***?@return?the?code*/public?int?getCode()?{return?code;}/***?@param?code?the?code?to?set*/public?void?setCode(int?code)?{this.code?=?code;}/***?@return?the?message*/public?String?getMessage()?{return?message;}/***?@param?message?the?message?to?set*/public?void?setMessage(String?message)?{this.message?=?message;}/***?@return?the?errors*/public?String?getErrors()?{return?errors;}/***?@param?errors?the?errors?to?set*/public?void?setErrors(String?errors)?{this.errors?=?errors;}/***?@return?the?result*/public?Object?getResult()?{return?result;}/***?@param?result?the?result?to?set*/public?void?setResult(Object?result)?{this.result?=?result;}}服務器返回json字符串
??protected?void?writeResponseByJsonStr(Object?javabean,int?code,?String?message,?String?error){try?{HttpServletResponse?response=?getResponse();response.setContentType("application/json;?charset=utf-8");response.setHeader("Cache-Control",?"no-cache");?//取消瀏覽器緩存PrintWriter?out?=?response.getWriter();out.print(JSON.toJSONString(new?ResponseBody(code,message,error,javabean,accessToken)??));//實體對象轉(zhuǎn)換為json字符串傳遞out.flush();out.close();}?catch?(IOException?e)?{e.printStackTrace();}}前臺解析json字符串(采用fastjson)步驟
import?java.io.BufferedReader; import?java.io.IOException; import?java.io.InputStreamReader; import?java.net.URL; import?java.util.List;import?com.alibaba.fastjson.JSON; import?com.alibaba.fastjson.JSONArray; import?com.alibaba.fastjson.JSONObject;import?com.chinaseacom.store.customer.model.Notice;public?class?MobileClient?{public?static?void?main(String[]?args)?throws?IOException?{BufferedReader?reader?=?null;try?{URL?url?=?new?URL("http://localhost:8080/customer/notice/list");reader?=?new?BufferedReader(new?InputStreamReader(url.openStream()));String?jsonString?=?reader.readLine();System.out.println(jsonString);JSONObject?jsonObject?=?JSON.parseObject(jsonString);?//?得到json對象JSONArray?jsonArray?=?(JSONArray)?jsonObject.get("result");//?根據(jù)key得到json數(shù)組System.out.println(jsonArray.toJSONString());List<Notice>?nlist?=?JSON.parseArray(jsonArray.toJSONString(),Notice.class);?//?json數(shù)組轉(zhuǎn)換成對象集合for?(Notice?notice?:?nlist)?{System.out.println(notice.getUpdateDate());}}?catch?(Exception?e)?{e.printStackTrace();}?finally?{reader.close();}}}參考文章:使用FastJSON,將對象或數(shù)組和JSON串互轉(zhuǎn)
http://blog.csdn.net/gaojinshan/article/details/30260707
本文出自 “點滴積累” 博客,請務必保留此出處http://tianxingzhe.blog.51cto.com/3390077/1704002
總結(jié)
以上是生活随笔為你收集整理的服务器和前台采用JSON通讯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux android ndk
- 下一篇: C栈stack