This commit is contained in:
yakolee
2014-05-23 15:00:23 +08:00
parent 2f085fbbd2
commit 2eecf3fdfd
2 changed files with 45 additions and 1 deletions
@@ -34,7 +34,7 @@ public class EnumSerializer implements ObjectSerializer {
if (serializer.isEnabled(SerializerFeature.WriteEnumUsingToString)) {
Enum<?> e = (Enum<?>) object;
serializer.write(e.name());
serializer.write(e.toString());
} else {
Enum<?> e = (Enum<?>) object;
out.writeInt(e.ordinal());
@@ -0,0 +1,44 @@
package com.alibaba.json.bvt.bug;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class Bug_for_ruiqi extends TestCase {
public void test_0() throws Exception {
Map<String, Enum> map = new HashMap<String, Enum>();
map.put("a", Enum.ENUM1);
map.put("b", Enum.ENUM1);
System.out.println(JSON.toJSONString(map, SerializerFeature.WriteEnumUsingToString));
System.out.println(JSON.toJSONString(map));
}
public static enum Enum {
ENUM1("name1"), ENUM2("name2");
private String name;
Enum(String name){
this.name = name;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "name: " + name;
}
}
}