diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectInput.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectInput.java index dedbffd63658d3a000e4ea779a9c429e6c360687..bf38939c3539167b2dc4279c34764d9f8ceef3a3 100644 --- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectInput.java +++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectInput.java @@ -22,7 +22,6 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.lang.reflect.Type; -import java.util.Map; import com.alibaba.dubbo.common.serialize.ObjectInput; import com.alibaba.dubbo.common.utils.PojoUtils; @@ -113,29 +112,20 @@ public class FastJsonObjectInput implements ObjectInput { return readLine().getBytes(); } - @SuppressWarnings("unchecked") public Object readObject() throws IOException, ClassNotFoundException { String json = readLine(); - if (json.startsWith("{")) { - return JSON.parseObject(json, Map.class); - } else { - json = "{\"value\":" + json + "}"; - Map map = JSON.parseObject(json, Map.class); - return map.get("value"); - } + return JSON.parse(json); } - @SuppressWarnings("unchecked") public T readObject(Class cls) throws IOException, ClassNotFoundException { - Object value = readObject(); - return (T) PojoUtils.realize(value, cls); - // return JSON.parseObject(readLine(), cls); + String json = readLine(); + return JSON.parseObject(json, cls); } @SuppressWarnings("unchecked") public T readObject(Class cls, Type type) throws IOException,ClassNotFoundException { - Object value = readObject(); + Object value = readObject(cls); return (T) PojoUtils.realize(value, cls, type); } diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectOutput.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectOutput.java index 36466486f77682a5864822f624358bd1ebaf9405..ffaaf9767902796cb9a1009b8a0f6015b1cadb1c 100644 --- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectOutput.java +++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/support/json/FastJsonObjectOutput.java @@ -84,15 +84,11 @@ public class FastJsonObjectOutput implements ObjectOutput { } public void writeObject(Object obj) throws IOException { - if (obj instanceof Throwable) { - writer.write("{\"message\":\"" + ((Throwable)obj).getMessage() + "\"}"); - } else { - SerializeWriter out = new SerializeWriter(); - JSONSerializer serializer = new JSONSerializer(out); - serializer.config(SerializerFeature.WriteEnumUsingToString, true); - serializer.write(obj); - out.writeTo(writer); - } + SerializeWriter out = new SerializeWriter(); + JSONSerializer serializer = new JSONSerializer(out); + serializer.config(SerializerFeature.WriteEnumUsingToString, true); + serializer.write(obj); + out.writeTo(writer); writer.println(); writer.flush(); }