qq_32722637
2016-02-24 04:51
采纳率: 33.3%
浏览 8.4k
已采纳

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • ruiahut 2016-02-24 05: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;
    }

    已采纳该答案
    打赏 评论
  • 编程爱好者熊浪 2016-02-24 07:27

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

    打赏 评论
  • 觅夜的黑 2016-02-24 09:16

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

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

     data:{json:jsonStr}
    
    1 打赏 评论

相关推荐 更多相似问题