需求背景:由于一些接口并没有采用常规的form形式,而是用一个json作为入参,形如{"userName":"zhangsan","password":"123456"}.
这种情况下用restTemplate也行,用httpClient也行,但是restTempalte和httpClient都可能有乱码问题。我这里用最原生的UrlConnection来解决,加上一些头部信息,即可解决乱码,很爽。
关键代码:
public static void post(String url, String param ) throws Exception{
String charset = "UTF-8";
URLConnection connection = new URL(url).openConnection();
connection.setDoOutput(true); Triggers POST.
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty("Content-Type", "application/json;charset=" + charset);
try (OutputStream output = connection.getOutputStream()) {
output.write(param.getBytes(charset));
}
InputStream response = connection.getInputStream();
String result= InputStreamTOString(response, "UTF-8");
System.out.println("result^_^"+result);
}
final static int BUFFER_SIZE = 4096;
/
- 将InputStream转换成某种字符编码的String
- @param in
- @param encoding
- @return
- @throws Exception
*/
public static String InputStreamTOString(InputStream in,String encoding) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[BUFFER_SIZE];
int count = -1;
while((count = in.read(data,0,BUFFER_SIZE)) != -1)
outStream.write(data, 0, count);
data = null;
return new String(outStream.toByteArray(),encoding);
}
具体代码我已经封装在V3架构里面的HttpClientUtil的postWithJson方法中,为了保持统一,本方法强制用UTF-8编码。
只要接受3个参数,具体看源码即可。
refurl:http://stackoverflow.com/questions/7181534/http-post-using-json-in-java
相关推荐
C#接收Json格式数据,中文出现乱码解决方法
下面小编就为大家带来一篇读写json中文ASCII乱码问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本Demo主要针对jquery的$.getJSON操作,返回json, 针对传参出现的中文乱码, json里出现中文乱码。
主要介绍了Java Http请求传json数据乱码问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
json 中文乱码解决方案,此方法简单实用,方便快捷
1、读取本地JSON ,但是显示汉字乱码 public static String readLocalJson(Context context, String fileName){ String jsonString=; String resultString=; try { BufferedReader bufferedReader=new ...
懒得考虑各种字符编码问题了,用了一个比较暴力的方法,不只中文,所有双字节文字都可以避免乱码问题。
解决乱码问题,jsoncpp 写入乱码解决版本
解决所有双字节字符串json返回乱码问题,返回数据如果已html形式显示,无需做任何处理,如果是在alert中,或在文本框中,用附带的js中的方法处理一下即可。
json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题 json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3版本中不存在。 注:下面的代码再python 2.7版本下测试通过 # -...
介绍了PHP json_encode中文乱码问题的解决办法,有需要的朋友可以参考一下
主要介绍了spring boot如何配置请求的入参和出参json数据格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
问题出现与解决 Pandas进行数据处理之后,假如想将其转化为json,会出现一个bug,就是中文文字是以乱码存储的,也就是\uXXXXXX的形式,翻了翻官网文档,查了源码的参数,(多谢网友提醒)需要设置js001 = df1.to_json(force_...
最近有朋友反映使用jquery.ajax调用返回json时出现中文乱码,遇到此问题,非常棘手,下面小编帮大家解决JQuery ajax 返回json时出现中文乱码问题,感兴趣的朋友跟着一起了解了解吧
postjson_windows接口测试工具,本地、在线都可以测试!
可以通知已知的接口,来查看接口的json数据
本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法。分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { "city": "北京", "cityid": "101010100" }, { "city": ...