StringCodec.java
package com.alibaba.fastjson.serializer;
import com.alibaba.fastjson.parser.DefaultJSONParser;
import com.alibaba.fastjson2.JSONReader;
import java.io.IOException;
import java.lang.reflect.Type;
public class StringCodec
implements ObjectSerializer {
public static final StringCodec instance = new StringCodec();
public static <T> T deserialze(DefaultJSONParser parser) {
return (T) parser.getRawReader().readString();
}
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
JSONReader reader = parser.getRawReader();
String str = reader.readString();
if (clazz == StringBuffer.class) {
return (T) new StringBuffer(str);
}
if (clazz == StringBuilder.class) {
return (T) new StringBuilder(str);
}
return (T) str;
}
@Override
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
SerializeWriter out = serializer.out;
out.writeString((String) object);
}
}