web端传json格式数据, java端如何定义参数接收?

问题描述

如题,客户端要传如下格式的json数据到服务器端,其中名为page和parameter的key名是确定的,但它们各自数组中的key名和个数是不确定的:"{'page':[{'id':'100001','create_by':'system','userinfo':'userinfo','role':'role'},"+"{'id':'100002','create_time':'2013-07-1311:00:00','create_by':'sync....'}],"+"'parameter':[{'arg001':'2046-08-08','arg002':'2019-08-08'}]}"

请问在websevice层或controller层定义的java接口方法中,要怎样定义参数来接收这样的json数据?

解决方案

本帖最后由 lblhmz 于 2014-08-23 14:34:23 编辑
解决方案二:
请参看如下代码{"response":{"product_list":[{"state":null,"month_product_id":1000003139816,"month_product_name":"成功必读包月区","order_date":null,"month_product_description":"是通货膨胀还是金融风暴?是投资理财还是风险控制?8元经管好书看个够,做都市精英。rn","account_msg":800,"readpoint_price":"800","cover_path":"http://61.130.247.183/","wap_url":"http://wapread.189.cn/baoyueInfoListAction.action?monthProductId=1000003139816"},{"state":null,"month_product_id":1000003139847,"month_product_name":"巅峰武侠包月区","order_date":null,"month_product_description":"自任侠客,仗剑江湖为红颜,侠之大为国为民。5元50本武林宝典,每月更新10本。rn","account_msg":500,"readpoint_price":"500","cover_path":"http://61.130.247.183/","wap_url":"http://wapread.189.cn/baoyueInfoListAction.action?monthProductId=1000003139847"},{"state":null,"month_product_id":1000003706336,"month_product_name":"霓彩都市包月区","order_date":null,"month_product_description":"白手起家成巨富,异能法宝战都市,草根崛起!。5元50本都市爽文,每月更新10本。rn","account_msg":500,"readpoint_price":"500","cover_path":"http://61.130.247.183/","wap_url":"http://wapread.189.cn/baoyueInfoListAction.action?monthProductId=1000003706336"}]}}

result为以上json字符串。JSONObjectobject=JSONObject.fromObject(result);JSONObjectresponseObj=object.getJSONObject("response");JSONArrayjsonArray=responseObj.getJSONArray("product_list");//通过遍历JSONArray对象获得JSONObject对象,并将其转为字符串for(inti=0;i<jsonArray.size();i++){JSONObjectjsonObj=((JSONObject)jsonArray.opt(i));//使用Gson类的fromJson对象将json数据和实体类进行映射MonthProductBeanmpBean=gson.fromJson(jsonObj.toString(),MonthProductBean.class);list.add(mpBean);}

解决方案三:
关键是后台接口的参数怎么定义?或者说这个json字符串怎么传到后台引用1楼askwei007的回复:

请参看如下代码{"response":{"product_list":[{"state":null,"month_product_id":1000003139816,"month_product_name":"成功必读包月区","order_date":null,"month_product_description":"是通货膨胀还是金融风暴?是投资理财还是风险控制?8元经管好书看个够,做都市精英。rn","account_msg":800,"readpoint_price":"800","cover_path":"http://61.130.247.183/","wap_url":"http://wapread.189.cn/baoyueInfoListAction.action?monthProductId=1000003139816"},{"state":null,"month_product_id":1000003139847,"month_product_name":"巅峰武侠包月区","order_date":null,"month_product_description":"自任侠客,仗剑江湖为红颜,侠之大为国为民。5元50本武林宝典,每月更新10本。rn","account_msg":500,"readpoint_price":"500","cover_path":"http://61.130.247.183/","wap_url":"http://wapread.189.cn/baoyueInfoListAction.action?monthProductId=1000003139847"},{"state":null,"month_product_id":1000003706336,"month_product_name":"霓彩都市包月区","order_date":null,"month_product_description":"白手起家成巨富,异能法宝战都市,草根崛起!。5元50本都市爽文,每月更新10本。rn","account_msg":500,"readpoint_price":"500","cover_path":"http://61.130.247.183/","wap_url":"http://wapread.189.cn/baoyueInfoListAction.action?monthProductId=1000003706336"}]}}

result为以上json字符串。JSONObjectobject=JSONObject.fromObject(result);JSONObjectresponseObj=object.getJSONObject("response");JSONArrayjsonArray=responseObj.getJSONArray("product_list");//通过遍历JSONArray对象获得JSONObject对象,并将其转为字符串for(inti=0;i<jsonArray.size();i++){JSONObjectjsonObj=((JSONObject)jsonArray.opt(i));//使用Gson类的fromJson对象将json数据和实体类进行映射MonthProductBeanmpBean=gson.fromJson(jsonObj.toString(),MonthProductBean.class);list.add(mpBean);}

解决方案四:
取到之后遍历一下不就好了

时间: 2024-07-31 17:05:31

web端传json格式数据, java端如何定义参数接收?的相关文章

ajax-Asp.net MVC Ajax post 传json格式数据控制器如何接收

问题描述 Asp.net MVC Ajax post 传json格式数据控制器如何接收 这是我的ajax代码 这是我要传的数据 这是我的控制器方法 求大师解惑,我的控制器方法里该如何接收这些值啊? 解决方案 http://www.jb51.net/article/23354.htmhttp://www.jquery001.com/pass-json-data-in-asp.net-mvc3.html 解决方案二: http://www.cnblogs.com/kissdodog/archive/

这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来

问题描述 这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来 public class SaveHotKeySkillReq extends CommandBase { @Resource //数据库操作 private EntityManager em; protected void execute() throws GMessageException { CRequesthotKeyChange msg = pak.readMsg(CRequesthotKeyCha

Ajax向后台传json格式的数据出现415错误的原因分析及解决方法_AJAX相关

问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById("uuid").value; var idCard = document.getElementById("idCard").value; alert(uuId+idCard); // var result = new Object(); // result.uuId = uuI

Java Servlet生成JSON格式数据并用jQuery显示的方法_JSP编程

本文实例讲述了Java Servlet生成JSON格式数据并用jQuery显示的方法.分享给大家供大家参考,具体如下: 1.Servlet通过json-lib生成JSON格式的数据 import java.io.IOException; import java.io.PrintWriter; import java.util.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet;

Java后台处理Json格式数据的方法_java

 1.将对象转换为JSON字符串,返回值为一个JSON字符串 public static String toJson(Object value) { try { return mapper.writeValueAsString(value); } catch (Exception e) { e.printStackTrace(); } return null; } 2. 将JSON字符串转换为实体对象,返回值为实体对象 public static <T> T toObject(String j

SpringMVC环境下实现的Ajax异步请求JSON格式数据_AJAX相关

一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入jackson相关jar包,然后在spring配置文件"springmvc-servlet.xml"中添加json解析相关配置,我这里的完整代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schem

SpringMVC环境下实现的Ajax异步请求JSON格式数据

一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入jackson相关jar包,然后在spring配置文件"springmvc-servlet.xml"中添加json解析相关配置,我这里的完整代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schem

数据库-如何将.json格式数据存储到数据中?

问题描述 如何将.json格式数据存储到数据中? 我是java的职场小白.今天接到任务是将json数据保存到oracle数据库中. 我今天看了一下数据库中的字段.是要保存到一个叫logo_data的字段中. 这个字段的类型是varchar2的.请教大神给个思路,最好给个例子.小弟在这里谢了. 解决方案 json就是字符串,直接写入,考虑到存在特殊字符,可以进行编码,比如base64,读取时候解码即可 解决方案二: 如何采集原始图象数据存储格式的数据如何将C#/.NET 将json字符串格式数据转

ASP.NET输出JSON格式数据

最近在开发Windows8 Metro App,使用JavaScript和HTML开发环境.所以操作数据绑定都是使用JSON格式数据.后台使用的是ASP.NET,因为项目相对较小,所有 后台没有使用数据库,使用的XML来保存数据.前台需要请求后台返回JSON格式的数据,比如要求返回一个eventslist,后台操作XML的方法省 略.主要讨论如何使用Hashtable和ArrayList,然后加上ASP.NET自带的JavaScriptSerializer来生成JSON数 据,然后返回给前端使用