package com.alibaba.json.bvt.writeClassName; import java.util.HashMap; import java.util.LinkedHashMap; import org.junit.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import junit.framework.TestCase; public class WriteDuplicateType extends TestCase { public void test_dupType() throws Exception { DianDianCart cart = new DianDianCart(); cart.setId(1001); LinkedHashMap<String, JSONObject> cartMap = new LinkedHashMap<String, JSONObject>(); JSONObject obj = new JSONObject(); obj.put("id", 1001); obj.put(JSON.DEFAULT_TYPE_KEY, "com.alibaba.json.bvt.writeClassName.WriteDuplicateType$DianDianCart"); cartMap.put("1001", obj); String text1 = JSON.toJSONString(cartMap, SerializerFeature.WriteClassName); Assert.assertEquals("{\"@type\":\"java.util.LinkedHashMap\",\"1001\":{\"@type\":\"com.alibaba.json.bvt.writeClassName.WriteDuplicateType$DianDianCart\",\"id\":1001}}", text1); } public void test_dupType2() throws Exception { DianDianCart cart = new DianDianCart(); cart.setId(1001); LinkedHashMap<String, HashMap<String, Object>> cartMap = new LinkedHashMap<String, HashMap<String, Object>>(); HashMap<String, Object> obj = new HashMap<String, Object>(); obj.put("id", 1001); obj.put(JSON.DEFAULT_TYPE_KEY, "com.alibaba.json.bvt.writeClassName.WriteDuplicateType$DianDianCart"); cartMap.put("1001", obj); String text1 = JSON.toJSONString(cartMap, SerializerFeature.WriteClassName); Assert.assertEquals("{\"@type\":\"java.util.LinkedHashMap\",\"1001\":{\"@type\":\"com.alibaba.json.bvt.writeClassName.WriteDuplicateType$DianDianCart\",\"id\":1001}}", text1); } public void test_dupType3() throws Exception { DianDianCart cart = new DianDianCart(); cart.setId(1001); LinkedHashMap<String, LinkedHashMap<String, Object>> cartMap = new LinkedHashMap<String, LinkedHashMap<String, Object>>(); LinkedHashMap<String, Object> obj = new LinkedHashMap<String, Object>(); obj.put(JSON.DEFAULT_TYPE_KEY, "com.alibaba.json.bvt.writeClassName.WriteDuplicateType$DianDianCart"); obj.put("id", 1001); cartMap.put("1001", obj); String text1 = JSON.toJSONString(cartMap, SerializerFeature.WriteClassName); Assert.assertEquals("{\"@type\":\"java.util.LinkedHashMap\",\"1001\":{\"@type\":\"com.alibaba.json.bvt.writeClassName.WriteDuplicateType$DianDianCart\",\"id\":1001}}", text1); } public static class DianDianCart { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } } }