
测试代码:
// jackson private static ObjectMapper om = new ObjectMapper (); public static String objectToString (Object obj ) throws IOException{ return om.writeValueAsString (obj ); } @Test public oid test1 () throws IOException { Map<String, Object> map = new HashMap<String, Object>(); Map<String, String> map2 = new HashMap<String, String>(); map2.put ("name", "1"); map2.put ("age", "12"); map.put ("att", map2 ); List<String> list = new ArrayList<String>(); list.add ("hi");list.add ("hello"); map.put ("list", list ); List<Map<String, String>> cOnfuselist= new ArrayList<Map<String, String>>(); Map<String, String> map3 = new HashMap<String, String>(); map3.put ("name", "1"); map3.put ("age", "12"); confuselist.add (map3 ); confuselist.add (map2 ); map.put ("confuselist", confuselist ); Object array = Array.newInstance (String.class, 10 ); Array.set (array, 0, "a"); Array.set (array, 1, "b"); Array.set (array, 2, "c"); map.put ("array", array ); // 使用 jackson System.out.println (objectToString (map )); // 使用 fastJson System.out.println (JSON.toJSONString (map )); } 输出:
{"att":{"age":"12","name":"1"},"list":["hi","hello"],"confuselist":[{"age":"12","name":"1"}, {"age":"12","name":"1"}],"array":["a","b","c",null,null,null,null,null,null,null]} {"att":{"age":"12","name":"1"},"list":["hi","hello"],"confuselist":[{"age":"12","name":"1"},{"$ref":"$.att"}],"array":["a","b","c",null,null,null,null,null,null,null]} fastJson 对相同的对象使用引用标记节省字符串体积吗?有没有办法不用引用。
1 kaifeii 2015-09-01 11:03:08 +08:00 |
3 ophunter 2015-09-01 13:56:58 +08:00 友情提醒,如果能用 Gson 就别用 fastjson |
5 Ouyangan 2015-09-01 16:09:02 +08:00 一般用 Gson...大多数就用到 to/from/div> |
6 pixstone 2015-09-02 00:35:52 +08:00 via iPhone fastjson 有坑 需要规避 |