java发送http请求JSON携带中文
时间: 2023-10-11 16:08:39 浏览: 93
java发送http请求报文json
要在Java中发送带有中文的JSON请求,您需要确保正确设置请求头和编码。以下是一个示例代码片段,可以使用Java的`HttpURLConnection`类来发送JSON请求:
```java
import java.io.*;
import java.net.*;
public class HttpJsonRequest {
public static void main(String[] args) throws Exception {
String json = "{\"name\":\"张三\",\"age\":20}";
URL url = new URL("https://example.com/api");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setDoOutput(true);
OutputStream outputStream = connection.getOutputStream();
outputStream.write(json.getBytes("UTF-8"));
outputStream.flush();
outputStream.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
}
```
在上面的示例中,我们设置了请求方法为POST,并设置了请求头的Content-Type为“application/json; charset=UTF-8”,以确保中文字符正确地编码。我们还打开了输出流,并将JSON字符串作为UTF-8字节数组写入流中。最后,我们读取服务器的响应并将其打印出来。
请注意,如果您从其他源获取JSON数据,则需要使用相应的编码。例如,如果您从数据库中获取JSON数据,则应使用数据库的编码。
阅读全文