|
@@ -2,6 +2,7 @@ package com.ym.mec.common.config;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.io.OutputStream;
|
|
|
+import java.lang.reflect.Type;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
|
|
@@ -11,9 +12,12 @@ import org.springframework.http.HttpOutputMessage;
|
|
|
import org.springframework.http.converter.HttpMessageNotReadableException;
|
|
|
import org.springframework.http.converter.HttpMessageNotWritableException;
|
|
|
|
|
|
+import com.alibaba.fastjson.serializer.JSONSerializer;
|
|
|
+import com.alibaba.fastjson.serializer.ObjectSerializer;
|
|
|
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
|
|
|
import com.alibaba.fastjson.serializer.ValueFilter;
|
|
|
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
|
|
|
+import com.vdurmont.emoji.EmojiParser;
|
|
|
import com.ym.mec.common.enums.BaseEnum;
|
|
|
import com.ym.mec.util.json.JsonUtil;
|
|
|
|
|
@@ -31,12 +35,22 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
|
|
|
|
|
|
OutputStream out = outputMessage.getBody();
|
|
|
JsonUtil.getConfig().put(Date.class, new SimpleDateFormatSerializer(FORMAT));
|
|
|
+ JsonUtil.getConfig().put(String.class, new EmojiSerializer());
|
|
|
String text = JsonUtil.toJSONString(obj, EnumFilter.instance, getFeatures());
|
|
|
byte[] bytes = text.getBytes(getCharset());
|
|
|
out.write(bytes);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+class EmojiSerializer implements ObjectSerializer{
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
|
|
|
+ serializer.write(EmojiParser.parseToUnicode(object.toString()));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
class EnumFilter implements ValueFilter {
|
|
|
|
|
|
public static EnumFilter instance = new EnumFilter();
|