前台傳入的application/json;charset=UTF-8格式的數據,java后端從request中獲取json數據


出現該問題的背景

  本人最近做一個項目,前端傳給后端的是json格式,使用request.getParameter("字段名")獲取不到數據,雖說@RequestBody可以處理application/json類型,

但是由於一些需求,@RequestBody在此處不太適用,因此只能另想他法。

解決方法:

使用字節流還是字符流,考慮到json串屬於字符串,因此在此處選擇使用字符流,代碼如下:

    StringBuffer stringBuffer=new StringBuffer();
    int len;
    char[] buffer=new char[1024];
    try{
        BufferedBuffer reader=request.getReader();
        while((len=reader.read(buffer))!=-1){
            stringBuffer.append(buffer,0,len);
        }
    }catch(IOException e){
        e.printStackTrace();
    }        

 使用@RequestBody解決:(@RequestBody String string)接收前端傳來的application/json類型的數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM