昨天晚上,有一位前端人员和我对接口问题,然后我发现我从前端获取到的数据,%7B%22userId%22%3A56%2C%22adaptTaking%22%3A%5B%7B%22talking_type_id%22%3A5%7D%2C%7B%22talking_type_id%22%3A6%7D%5D%2C%22followTaking%22%3A%5B%7B%22talking_type_id%22%3A5%7D%2C%7B%22talking_type_id%22%3A6%7D%2C%7B%22talking_type_id%22%3A7%7D%2C%7B%22talking_type_id%22%3A16%7D%5D%7D,这个时候我与我需要的数据格式相差很多,后面的话查询资料发现,这种编码方式是UTF-8编码,编码以后就会涉及的utf-8解码,由于utf-8会在url传输的时候进行utf-8编码导致的问题,解决方法:
//将application/x-www-form-urlencoded字符串 //转换成普通字符串 //必须强调的是编码方式必须正确,如baidu的是gb2312,而google的是UTF-8 String keyWord = URLDecoder.decode("%E6%96%87%E6%A1%A3", "utf-8"); System.out.println(keyWord);
//将普通字符串转换成 //application/x-www-form-urlencoded字符串 //必须强调的是编码方式必须正确,如baidu的是gb2312,而google的是UTF-8 String urlStr = URLEncoder.encode("文档", "utf-8"); System.out.println(urlStr);