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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!