在Java web應用中,經常需要接收并解析前端傳過來的JSON數據。Java提供了很多解析JSON的工具,比如使用JSON-lib、Fastjson等。這里以使用Java Request對象為例,介紹如何解析JSON數據。
首先,在Java代碼中接收JSON數據,可以使用Request的getParameter(String name) 方法獲取到JSON數據。但是getParameter方法只能獲取普通的鍵值對參數,無法獲取JSON字符串。因此需要使用getReader()方法獲取輸入流并讀取JSON字符串。
// 獲取Request對象 HttpServletRequest request = (HttpServletRequest) req; // 獲取輸入流 BufferedReader reader = request.getReader(); // 定義JSON字符串 StringBuilder sb = new StringBuilder(); String line = null; // 讀取輸入流中的內容 while ((line = reader.readLine()) != null) { sb.append(line); } // 關閉流 reader.close(); // 解析JSON字符串 JSONObject jsonObj = JSONObject.fromObject(sb.toString());
在上面的代碼中,首先獲取了Request對象,然后通過getReader()方法獲取BufferedReader流,使用StringBuilder來存儲流中的內容,最后將字符串轉換為JSONObject對象。
讀取JSON數組也可以使用類似的方法,只需要將字符串轉換為JSONArray對象即可。
// 解析JSON數組 JSONArray jsonArray = JSONArray.fromObject(sb.toString());
現在就可以愉快地使用Java解析前端傳過來的JSON數據了。