用的还是之前的我做JSON工具类测试的那几个object类,看看XSTREAM都生成些什么垃圾代码吧:
importjava.util.HashMap;

importcom.thoughtworks.xstream.XStream;
importcom.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;



publicclassTest...{

publicstaticvoidmain(String[]args)throwsException...{
CObjcObj=newCObj();
XStreamxStream2=newXStream(newJettisonMappedXmlDriver());
HashMaptestMap=newHashMap();
testMap.put("obj1",cObj);
testMap.put("obj2",cObj);
System.out.println(xStream2.toXML(testMap));
}
}
输出:
{"map":{"entry":[{"string":"obj1","CObj":{"oarray":{"int":"352","boolean":"false","string":"kick"},"ii":"7","bb":"true","ss":"你好","aList":{"string":"hello","boolean":"false","BObj":{"innerhm":{"entry":[{"string":"sina","big-decimal":"7.4353999999999995651478457148186862468719482421875"},{"string":["gigi","高兴"]}]},"map":""}}}},{"string":"obj2","CObj":{"@reference":"..//..//entry//CObj"}}]}}
BUG1:生成的reference这个有个屁用,只有xstream自己知道(反向生成Object)
BUG2:有必要把HashMap生成得这么复杂吗?对于JSON来说,我需要的HashMap的key肯定是String,没必要来个{"string":"obj2"}这么麻烦的key定义,我需要的是像obj2: {}这样的直接。
看来用xstream来生成json还是很不方便的,功能有限,垃圾数据太多。
importjava.util.HashMap;
importcom.thoughtworks.xstream.XStream;
importcom.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;


publicclassTest...{
publicstaticvoidmain(String[]args)throwsException...{
CObjcObj=newCObj();
XStreamxStream2=newXStream(newJettisonMappedXmlDriver());
HashMaptestMap=newHashMap();
testMap.put("obj1",cObj);
testMap.put("obj2",cObj);
System.out.println(xStream2.toXML(testMap));
}
}
{"map":{"entry":[{"string":"obj1","CObj":{"oarray":{"int":"352","boolean":"false","string":"kick"},"ii":"7","bb":"true","ss":"你好","aList":{"string":"hello","boolean":"false","BObj":{"innerhm":{"entry":[{"string":"sina","big-decimal":"7.4353999999999995651478457148186862468719482421875"},{"string":["gigi","高兴"]}]},"map":""}}}},{"string":"obj2","CObj":{"@reference":"..//..//entry//CObj"}}]}}
BUG1:生成的reference这个有个屁用,只有xstream自己知道(反向生成Object)
BUG2:有必要把HashMap生成得这么复杂吗?对于JSON来说,我需要的HashMap的key肯定是String,没必要来个{"string":"obj2"}这么麻烦的key定义,我需要的是像obj2: {}这样的直接。
看来用xstream来生成json还是很不方便的,功能有限,垃圾数据太多。
本文通过测试案例展示了使用XStream工具类将Java对象转换为JSON格式时遇到的问题,包括不必要的复杂性和引用问题。
538

被折叠的 条评论
为什么被折叠?



