javax.websocket 发送JSON
时间: 2024-10-28 11:07:59 浏览: 46
`javax.websocket` 是Java WebSocket API的一部分,用于实现实时双向通信。如果你想要通过WebSocket从服务器向客户端发送JSON数据,可以按照以下步骤操作:
1. **创建消息对象**: 首先,你需要创建一个JSON兼容的对象,如Java的`org.json.JSONObject`或`com.fasterxml.jackson.databind.JsonNode`。
```java
import org.json.JSONObject;
JSONObject message = new JSONObject();
message.put("username", "John");
message.put("message", "Hello from server!");
```
2. **准备WebSocket连接**: 确保你已经建立了一个`@ServerEndpoint`注解的WebSocket服务器端点,并配置了相应的WebSocket监听器(`MessageHandler`)来处理接收到的消息。
```java
@ServerEndpoint("/websocket")
public class WebSocketServer {
@OnMessage
public void handleMessage(String message) {
// 对接收到的字符串消息进行处理
}
// 当需要发送JSON时
@OnClose
public void onClose(CloseReason reason) {
sendToClient(message); // 发送JSON对象
}
private void sendToClient(JSONObject json) {
try {
session.getBasicRemote().sendText(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这里,`sendToClient()`方法负责将JSON转换成字符串并发送给客户端。
3. **客户端接收**:客户端也需要处理接收到的JSON字符串,并转换回Java对象。
```java
@OnMessage
public void onMessage(String textMessage) {
try {
JSONObject receivedJson = new JSONObject(textMessage);
// 解析JSON并处理数据
} catch (JSONException e) {
e.printStackTrace();
}
}
```
阅读全文
相关推荐


















