在Web開發中,controller是一個很重要的組件。它負責處理HTTP請求,并返回響應。在處理HTTP請求時,有時需要解析客戶端發送的JSON數據。那么,如何在controller中解析JSON呢?
public ResponseEntity<String> handleJson(@RequestBody String jsonString) { try { JSONObject jsonObject = new JSONObject(jsonString); // 處理JSON數據 return new ResponseEntity<>("Success", HttpStatus.OK); } catch (JSONException e) { return new ResponseEntity<>("Invalid JSON string", HttpStatus.BAD_REQUEST); } }
在上面的代碼中,我們首先定義了一個handleJson方法,并使用@RequestBody注解將客戶端發送的JSON數據作為參數傳遞進來。然后,我們使用JSONObject對象解析JSON字符串,如果解析成功,則進行業務邏輯處理,并返回一個HTTP 200響應。如果解析失敗,則返回一個HTTP 400響應,告訴客戶端JSON數據格式不正確。
當然,在實際開發中,我們通常會將JSON數據解析成Java對象。這時,我們可以使用Spring框架提供的@ResponseBody注解。例如:
@PostMapping("/add") @ResponseBody public ResponseEntity<String> addBook(@RequestBody Book book) { // 處理Book對象 return new ResponseEntity<>("Success", HttpStatus.OK); }
上面的代碼中,我們定義了一個addBook方法,使用@PostMapping注解指定HTTP Method為POST,并使用@ResponseBody注解將處理結果轉換為JSON格式返回給客戶端。同時,我們使用@RequestBody注解將客戶端發送的JSON數據解析成Java對象Book,并進行業務邏輯處理。