服务器和前台采用JSON通讯
封装实体类(服务器返回信息都存放在该实体中)
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) ));//实体对象转换为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");// 根据key得到json数组System.out.println(jsonArray.toJSONString());List<Notice> nlist = JSON.parseArray(jsonArray.toJSONString(),Notice.class); // json数组转换成对象集合for (Notice notice : nlist) {System.out.println(notice.getUpdateDate());}} catch (Exception e) {e.printStackTrace();} finally {reader.close();}}}
参考文章:使用FastJSON,将对象或数组和JSON串互转
http://blog.csdn.net/gaojinshan/article/details/30260707
本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1704002
服务器和前台采用JSON通讯相关推荐
- struts2操作json成字符串格式错误被转义及其前台访问json对象的方法
这个问题确实纠结了我几天,是在是烦.网上也是参考了好几位大师的说法.都是不了了之. 这里记下这个问题,以备以后的参考. 我在struts2后台返回的是这样的json字符串: "[{\&quo ...
- Android学习笔记---26_采用JSON格式返回数据给资讯客户端,效率上要高于xml文件解析和传输
2013-03-22 26_采用JSON格式返回数据给资讯客户端 ---------------------------------------- 1.因为在android中,使用xml格式传输数据的 ...
- Struts2中采用Json返回List对象数据为空解决方案
Struts2中采用Json返回List对象数据为空解决方案 参考文章: (1)Struts2中采用Json返回List对象数据为空解决方案 (2)https://www.cnblogs.com/wa ...
- 作为事件属性设置而输入的表达式“打开”产生如下错误:在Microsoft Office Access 与 OLE服务器或ActiveX控件通讯时出现问题。
使用acess2010打开表时出错 作为事件属性设置而输入的表达式"打开"产生如下错误:在Microsoft Office Access 与 OLE服务器或ActiveX控件通讯时 ...
- 前台传json ajax,如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)
首先,我们要在前台引入json的脚本,以便于把js对象序列化 然后我们在前台声明一个类,将你要保存的值放到类里面,最后序列化 function Save() { var examId = ''; va ...
- django 返回ajax html,Django 前台通过json 取出后台数据
前台通过json 取出后台数据 步骤1:后台数据通过 JSON 序列化成字符串 注意:1.json是1个字符串 2.通过json.dumps('xxx') 序列化成 1个字符串的 '字典对象' vie ...
- (转)SpringMVC学习(十)——SpringMVC与前台的json数据交互
http://blog.csdn.net/yerenyuan_pku/article/details/72514022 json数据格式在接口调用中.html页面中比较常用,json格式比较简单,解析 ...
- 昆仑通态与欧姆龙温控器 台达变频器 采用modbus通讯方式,设定温控器温度值,报警值,实际温度,监控输出状态
昆仑通态与欧姆龙温控器 台达变频器 联合通讯控制器件:昆仑通态MCGS TPC7062,欧姆龙E5CC型号温控器,台达VFD-M变频器. 控制说明:采用modbus通讯方式,设定温控器温度值,报警值, ...
- 游戏服务器开发丨采用skynet手撕万人同时在线游戏丨游戏客户端开发
用skynet手撕一个万人同时在线游戏 1. 多核并发编程 2. actor详解 3. 游戏实现原理 [技术分享篇]游戏服务器开发丨采用skynet手撕万人同时在线游戏丨游戏客户端开发 更多精彩内容包 ...
最新文章
- Sharepoint学习笔记—ECMAScript对象模型系列-- 8、组与用户操作(一)
- DPM2010恢复整个邮箱数据库
- how is SAP UI5 Model.setProperty implemented
- RabbitMQ学习(七)_RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
- 音视频同步系列文章之------时间戳与时间尺度(time scale)
- 近期H5项目开发小结
- 学会这个BBC,你的图也可以上新闻啦!
- 检测邮箱和手机号是否正确的正则
- 慕课软件质量保证与测试(总目录)
- android手机壁纸尺寸,安卓手机壁纸尺寸选择攻略:屏幕分辨率≠壁纸分辨率
- java供应链项目详解_基于jsp的企业供应链管理系统-JavaEE实现企业供应链管理系统 - java项目源码...
- wsimport 的使用
- 社工必备查询网址汇总
- 数据分析中常见的10种数据编码方式
- js实现显示系统时间的表盘
- 百度实习生招聘笔试题1
- ips细胞最新进展:利用iPS细胞成功培养出抑制宫颈癌繁殖的免疫杀伤T细胞,有望实现宫颈癌的免疫细胞疗法
- 精彩回顾 | NDBC 2021华为参会回顾
- Android中使用webview加载网页上的按钮点击失效
- MATLAB代码:考虑退化成本的混合储能微电网双层能源管理系统 可再生能源 (RES) 和储能系统 (ESS) 在微电网中的集成为最终用户和系统运营商提供了潜在的利益