|
@@ -10,6 +10,7 @@ import com.alibaba.fastjson.serializer.SerializeWriter;
|
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.alibaba.fastjson.serializer.ValueFilter;
|
|
|
import com.alibaba.fastjson.util.TypeUtils;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
|
|
import java.lang.reflect.Type;
|
|
|
import java.math.BigDecimal;
|
|
@@ -128,8 +129,21 @@ public class JsonUtil {
|
|
|
|
|
|
private static String toJsonString(Object obj, ValueFilter filter) {
|
|
|
// SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.QuoteFieldNames, SerializerFeature.SkipTransientField, SerializerFeature.WriteEnumUsingToString, SerializerFeature.SortField
|
|
|
+
|
|
|
SerializeWriter out = new SerializeWriter();
|
|
|
JSONSerializer serializer = new JSONSerializer(out);
|
|
|
+
|
|
|
+ ArrayList<SerializerFeature> serializerFeatures = Lists.newArrayList(
|
|
|
+ SerializerFeature.DisableCircularReferenceDetect,
|
|
|
+ SerializerFeature.WriteNullStringAsEmpty,
|
|
|
+ SerializerFeature.WriteMapNullValue,
|
|
|
+ SerializerFeature.QuoteFieldNames,
|
|
|
+ SerializerFeature.WriteNullNumberAsZero
|
|
|
+ );
|
|
|
+ for (SerializerFeature feature : serializerFeatures) {
|
|
|
+ serializer.config(feature, true);
|
|
|
+ }
|
|
|
+
|
|
|
serializer.config(SerializerFeature.WriteEnumUsingToString, false);
|
|
|
serializer.getValueFilters().add(filter);
|
|
|
serializer.write(obj);
|
|
@@ -173,8 +187,16 @@ public class JsonUtil {
|
|
|
// SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteMapNullValue, SerializerFeature.QuoteFieldNames, SerializerFeature.WriteNullNumberAsZero
|
|
|
SerializeWriter out = new SerializeWriter();
|
|
|
|
|
|
+ ArrayList<SerializerFeature> serializerFeatures = Lists.newArrayList(
|
|
|
+ SerializerFeature.DisableCircularReferenceDetect,
|
|
|
+ SerializerFeature.WriteNullStringAsEmpty,
|
|
|
+ SerializerFeature.WriteMapNullValue,
|
|
|
+ SerializerFeature.QuoteFieldNames,
|
|
|
+ SerializerFeature.WriteNullNumberAsZero
|
|
|
+ );
|
|
|
+ serializerFeatures.addAll(Lists.newArrayList(features));
|
|
|
JSONSerializer serializer = new JSONSerializer(out, config);
|
|
|
- for (SerializerFeature feature : features) {
|
|
|
+ for (SerializerFeature feature : serializerFeatures) {
|
|
|
serializer.config(feature, true);
|
|
|
}
|
|
|
if (filter == null) {
|