在Controller层接收一个http请求,得到JSON,JSON里车牌字段是GBK编码,转换成UTF-8java代码示例
时间: 2023-06-02 20:05:01 浏览: 161
ssm框架controller层返回json格式数据到页面的实现
以下是Java代码示例:
```
@RequestMapping("/getCarInfo")
@ResponseBody
public Map<String, Object> getCarInfo(@RequestBody String requestBody) throws UnsupportedEncodingException {
Map<String, Object> resultMap = new HashMap<String, Object>();
// 将GBK编码的JSON字符串转换成UTF-8编码的字符串
String utf8Request = new String(requestBody.getBytes("GBK"), "UTF-8");
// 解析JSON,处理业务逻辑
JSONObject requestJson = JSONObject.parseObject(utf8Request);
String carNumber = requestJson.getString("carNumber");
// 处理业务逻辑,返回结果
resultMap.put("status", "success");
resultMap.put("result", "车牌号为:" + carNumber);
return resultMap;
}
```
在上述代码中,我们首先使用 `@RequestBody` 注解将请求体中的 JSON 字符串注入到 `String` 类型的参数 `requestBody` 中。由于车牌字段是 GBK 编码的,我们先用 `requestBody.getBytes("GBK")` 将 GBK 编码的字符串转换成字节数组,然后再用 `new String(byte[], String)` 将字节数组转换成 UTF-8 编码的字符串。之后,我们再用 `JSONObject.parseObject(String)` 将 JSON 字符串转换成 `JSONObject` 对象,然后从中获取车牌号字段的值。
最后,我们处理业务逻辑,将结果封装成 `Map` 对象并返回。
阅读全文