2 qq 32722637 qq_32722637 于 2016.02.24 12:51 提问

请教各位大神,java后台怎么获取前台传过来的json字符串

jsonStr = "{"+
"\"name\": \"名称\",\"abbrName\": \"简称\",\"eMail\": \"电子邮箱\","+
"\"process\": ["+
"{\"name\": \"甲\",\"level\": \"1\"},"+
"{\"name\": \"乙\",\"level\": \"2\"},"+
"}"
data:jsonStr
请教后台是get可以获取吗?若是不能怎么可以获取到?

4个回答

u013196231
u013196231   2016.02.24 13:00
已采纳

public String getRequestPostStr(HttpServletRequest request) throws IOException{
byte buffer[] = getRequestPostBytes(request);
String charEncoding = request.getCharacterEncoding();
if(charEncoding == null){
charEncoding = "UTF-8";
}
return new String(buffer,charEncoding);
}
public byte[] getRequestPostBytes(HttpServletRequest request) throws IOException{
int contentLength = request.getContentLength();
if(contentLength<0){
return null;
}
byte[] buffer = new byte[contentLength];
for(int i = 0;i<contentLength;){
int readlen = request.getInputStream().read(buffer,i,contentLength - i);
if(readlen == -1){
break;
}
i += readlen;
}
return buffer;
}

showbo
showbo   Ds   Rxr 2016.02.24 13:36

起键名称就可以String json=request.getParameter("json");获取了

 data:{json:jsonStr}
qq_32722637
qq_32722637 你好 在没有键名的情况下怎么处理呢
2 年多之前 回复
xionglangs
xionglangs   Rxr 2016.02.24 15:27

前台虽然看上去一个json,但其实后台获取的时候还是一个字符串。只不过java后台你可以通过JSONObject jsonObject = JSONObject.fromObject(s);解析,图片说明,其中那个TerminalID就相当于你的name、eMail一样的东西,获得的值是 名称、电子邮箱一样的东西。

u013829202
u013829202   Rxr 2016.02.24 17:16

后台接收大都是字符串,你当做字符串去接收,接收了,你可以通过json工具类解析,或者直接循环都行。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA后台接收前台传过来的json字符串并解析获得key 和value
前台代码: $.ajax({ type:"post", url:"project/updateProject", data:{ formdata: JSON.stringify(formdata), tabname:$("#tabname").val(), id: $("#proid").val()
前台传入参数,后台返回字符串,解析为json
//获取作者的别名 function getAlias() { var author = $("#modalAuthor").val(); var ft = true; if (author == "") { ft = false; } if (ft) { $.ajax({ type:
前台拼接json数据java后台接收
首先介绍前台拼接json格式 function saveRuleScript(row){  var RuleScriptArr = [];//存放参数规则  var RuleScriptFreArr = [];//存放处理频率类型  var dealFre = $("#dealFre").combobox("getValue");//处理频率类型  var str = {};   st
java后台处理前端传的json串
关于json,就不在多做介绍了,直接进入正题: 举例子: 1.现在前台做了一个Ajax请求,往数据库中添加数据:  var json='{"goodName":"果粒橙","goodTitle":"这是一种好喝的","goodMessage":"这个很好喝,你还想喝 吗。。。。。。。。","goodCost":"2","goodPrice":"2.5","goodPicture":"ima
js eval方法解析java后台传来的json字符串
在前端做图表展示时,往往会遇到后台传来的一大串数据,一般要转成数组形式,在前端展示,特别是百度的Echarts!这里使用eval解决此问题。 对于服务器返回的JSON字符串,如果POST请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象,以下举例说明: var
java获取前台传递的json数据
前台js function deleteRole(){ var row = grid.datagrid('getSelected');     if (row) {         $.messager.confirm('系统提示', '删除操作不可恢复,您确定要继续么?', function (r) {             if (r) {             posturl
java后台JSON解析前台传入的数组JSON字符串
//参数如: obj={data:[{"id":"","infoName":"11","infoContent":"11"},{"id":"","infoName":"22","infoContent":"22"}]} // 解析接收的JSON字符串 JSONObject jsonObject = new JSONObject(obj); // 接收JSON对象里的数组 JSONArray js
spring MVC框架下 前台向java后台传送json字符串数据
前台代码: 用户名 密 码 JavaScript中的方法: function loginSubmit(){ var data={ 'username':$('#username').val(),'password':$('#password').val() }
Extjs 前台获取后台传过来的Json字符串
Extjs 前台获取后台传过来的Json字符串 var xx=Ext.decode( String json ) 转换后赋值给JS对象或数组,然后就可以访问对象的属性得到相应的值了(xx.属性)示例: var jstr = '{field1:"Iamstring",field2:1234567}'; var aobj=Ext.decode( jstr ); ale
Java解析前台传过来的json数组
var picdata = new Array(); picdata.push(res.serverId); 后台接收到的数据为: picdata---["Yj5QLu2ZfVffepIp_krZTg0LeZ8UXyb-ZgqCug15N-6bXgnOUqSgrjXGiDAvDU","IBiNAVYDTNTWyc9wwIvJYp8hI3Ikgsn6E4ZzwudiIt6emEcHxrSsLb9