概述
package com.dmo.parkingServer.common.config;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
import java.util.Map;
/**
* @Author jt
* @Description //websocket 投诉推送传递对象
* @Date 2020/12/4
*/
public class ReportingWebsocketVoEncoder implements Encoder.Text<Map<String, Object>> {
@Override
public void init(EndpointConfig endpointConfig) {
}
@Override
public void destroy() {
}
@Override
public String encode(Map<String, Object> map) {
ObjectMapper mapMapper = new ObjectMapper();
try {
return mapMapper.writeValueAsString(map);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
//
return JSON.toJSONString(map);
}
}
package com.dmo.parkingServer.common.config;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.websocket.Decoder;
import javax.websocket.EndpointConfig;
import java.util.Map;
/**
* @Author jt
* @Description //websocket 投诉推送传递对象
* @Date 2020/12/4
*/
public class ReportingWebsocketVoDecoder implements Decoder.Text<Map<String, Object>> {
@Override
public void init(EndpointConfig endpointConfig) {
}
@Override
public void destroy() {
}
@Override
public Map<String, Object> decode(String s) {
ObjectMapper objectMapper = new ObjectMapper();
try {
return objectMapper.readValue(s, Map.class);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
//
return JSON.parseObject(s);
}
@Override
public boolean willDecode(String s) {
return true;
}
}
@ServerEndpoint(value = "/webSocket/reporting/{userId}", encoders = ReportingWebsocketVoEncoder.class, decoders = ReportingWebsocketVoDecoder.class)
一般情况下fastjson就可以解决,这里测试发现了一个fastjson的一个bug,在map 转json字符串的时候,如果key的数据类型是integer时,转换后的 字符串不是一个json字符串,所以还是建议使用jackson。仅仅是传递对象数组的话,两者都是可以使用的。
最后
以上就是神勇橘子为你收集整理的springboot websocket发送对象的全部内容,希望文章能够帮你解决springboot websocket发送对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复