最近做项目用到了 一个新的客户端传参的方式,主要采用的是客户端以json数据格式的方式想后台传递数据,所以,后台接收的参数也是json格式的,刚开始不知道怎么做,

到最后才找到了解决的办法就是利用google提供的gson.jar就能很好的解决。 其实就是把前端的json数据格式转换成对象#

gson.jar下载地址  http://www.java2s.com/Code/Jar/g/Downloadgson224jar.htm 最新版本 2.24

开始看了google提供的API我就能知道其实,后台解析前端传来的json数据格式听简单的#

比如客户端传来的参数格式url

url:   http://10.16.16.104:8081/ilifeGroupinfo_getGroupinfoPager.action?data={"c":"groupInfo","m":"list","p":{"pageNum":1,"type":0,"sessionKey":1}}

从最外边可以知道我们传给的最外面的参数是data所以后台接收到的也只是data的参数

所以我们现在需要做的就是解析传给后台的json数据格式

代码如下:

// 谷歌产生json对象的工具
Gson json = new Gson();

// 产生 P{} 里面参数接收对象
Param p = new Param(); Param对象里的属性是pageNum,type,sessionKey(注意的是该对象指的是p,对象里面的属性也必须和客户端中json数据格式中的字段名称一致)

//需要将客户端传来的json数据转换成什么对象

p = json.fromJson(data, Param.class); data为最外层的json数据对象

获取对象中的参数的值

p.getType();就能获取到客户端传来的参数的值了###

很简单的 API一看就明白了###

最外层当然为

gson.jar包

public class Base {
private String m;
private String c;

public String getM() {
return m;
}
public void setM(String m) {
this.m = m;
}
public String getC() {
return c;
}
public void setC(String c) {
this.c = c;
}

}

对象中的对象

package com.ismartinfo.ilife.api.entities.parameter;

public class Param extends Base{

private ParamValue p;

public ParamValue getP() {
return p;
}

public void setP(ParamValue p) {
this.p = p;
}

}

package com.ismartinfo.ilife.api.entities.parameter;

public class ParamValue {

private int pageNum;

private int type;

private int groupInfoId;

private int groupInfoReplyId;

private String sessionKey;

private int groupTitle;
 
private String groupContent;

private String phone;

private int buttonType;

private int replayId;

private int disclosure;

public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;

public String getSessionKey() {
return sessionKey;
}
public void setSessionKey(String sessionKey) {
this.sessionKey = sessionKey;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getGroupInfoId() {
return groupInfoId;
}
public void setGroupInfoId(int groupInfoId) {
this.groupInfoId = groupInfoId;
}
public int getGroupInfoReplyId() {
return groupInfoReplyId;
}
public void setGroupInfoReplyId(int groupInfoReplyId) {
this.groupInfoReplyId = groupInfoReplyId;
}
public int getGroupTitle() {
return groupTitle;
}
public void setGroupTitle(int groupTitle) {
this.groupTitle = groupTitle;
}
public String getGroupContent() {
return groupContent;
}
public void setGroupContent(String groupContent) {
this.groupContent = groupContent;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public int getButtonType() {
return buttonType;
}
public void setButtonType(int buttonType) {
this.buttonType = buttonType;
}
public int getReplayId() {
return replayId;
}
public void setReplayId(int replayId) {
this.replayId = replayId;
}
public int getDisclosure() {
return disclosure;
}
public void setDisclosure(int disclosure) {
this.disclosure = disclosure;
}  
}

后台怎么接收处理从url 客户端传来的json数据格式相关推荐

  1. php怎么传json数据_php怎么接收前端传来的json数据

    php怎么接收前端传来的json数据php 如何接收前端传来的json数据 前端用JQ 生成一个有字段名和值格式的键值对 的JSON 格式的字串 转码后 提交给后台的PHP 处理 代码如下 json_ ...

  2. HTTP请求中Get、Post与后台参数接收的分析

    前言:在http请求时经常碰到这两种方式,经常后台接收不到参数,所以总结一下,不同的请求方式的用处以及在后台如何接收. 参考: https://www.bbsmax.com/A/amd0E1mDzg/ ...

  3. ElementUI中el-upload传递额外参数为date类型时后台SpringBoot接收不到

    场景 ElementUI中el-upload怎样上传文件并且传递额外参数给Springboot后台进行接收: https://mp.csdn.net/console/editor/html/10797 ...

  4. 前端传递多个数组以及其他参数,springboot后台如何接收

    前端传递多个数组以及其他参数,springboot后台如何接收 前端传递参数ajax代码 var arr1=["1","2","3"];va ...

  5. java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...

    只实现了传送文件的功能. 编写Socket客户端和服务器程序,客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中. 消息格式: 字段 长度(单位字节) 内容 -------------- ...

  6. axios访问后台404_使用 axios 后台无法接收到数据的解决方案

    如果想看排错思路的,可以看完踩坑经历,想直接要结果的,可以直接看解决方案. 踩坑经历 最近我在使用 SSM + Vue 做自己的小项目.Dao层 和 Service层 之类的代码已经写好了,就差 Co ...

  7. WTM(ASP.NET Core)使用SignalR,后台网页接收实时消息通知

    在很多web项目中都存在这样的需求,用户执行某个操作或者数据库CURD,同时后台页面接收消息并弹窗提示当前操作系统的管理员. 我们这里采用微软的SignalR实时 web 功能使服务器端代码可以立即将 ...

  8. serialize 和serializeArray的区别以及后台的接收方式

    serialize 和serializeArray的区别以及后台的接收方式 前台form表单代码 <form id="systemForm" action="&qu ...

  9. 解决Ajax异步请求中传数组参数,后台无法接收问题

    解决Ajax异步请求中传数组参数,后台无法接收问题 参考文章: (1)解决Ajax异步请求中传数组参数,后台无法接收问题 (2)https://www.cnblogs.com/wangshuaiand ...

最新文章

  1. pandas_getdummies()
  2. “示范性高中”害死人呐!
  3. 4 系统的 CPU 使用率很高,但为啥却找不到高 CPU的应用?
  4. kafka logstash elk
  5. docker anaconda_深度学习炼丹炉配置[1] Docker+sshfs环境配置
  6. Activity工作流工作笔记001---快速上手_认识工作流
  7. Cache related website
  8. 完整的Flex多文件上传实例
  9. c语言中0xa0f对应的十进制,全国计算机二级C基础知识重点讲解
  10. java原理教程,java基础之运行原理(一),java基础运行原理
  11. [公告]决定博客园杂志所采用的标题
  12. 如何用几何画板破解版制作正方体展开动画
  13. php花瓣,php 网络爬虫,爬一下花瓣的图片
  14. 7-33 电话聊天狂人
  15. java数组乱码_Java 乱码问题
  16. MyEclipse导入项目后报Unknown Faceted Project Problem (Java Version Mismatch)的解决方法
  17. 王文彬(淘宝网首席架构师)等关注探讨的问题
  18. hdu1290 献给杭电五十周年校庆的礼物
  19. Ubuntu16.04上NVIDIA Titan显卡出现屏幕分辨率失常
  20. 一文看懂,python抓取m3u8里ts加密视频及合成、多线程、写入的问题

热门文章

  1. 动态规划-剪绳子问题
  2. PS简单操作快捷键,上手快
  3. C#应用程序界面开发基础——窗体控制(6)——菜单栏、工具栏和状态栏控件
  4. Python pandas.DataFrame.expanding函数方法的使用
  5. 基于JavaWeb平台的常用物联网硬件接口对接代码总结文档_田超凡
  6. STL源码剖析-Allocator
  7. laravel 使用workerman加速应用
  8. IT好课推荐系列——马士兵GO开发
  9. 简单讲解前序遍历,中序遍历,后序遍历和层次遍历
  10. SpringBoot 异步接口