List list = new ArrayList(); list.add("张三"); list.add("李四"); JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); String xmltest=new XMLSerializer().write(jsonArray); System.out.println(xmltest);
-------第一个打印正常---------
["张三","李四"]
-------第二个打印乱码---------
<?xml version="1.0" encoding="UTF-8"?>
<a><e type="string">寮犱笁</e><e type="string">鏉庡洓</e></a>
试试write(json, "GBK");
JVM字符串编码和系统编码有关吧?用GBK试试。就是new XMLSerializer()设下编码。
[quote]write(json, "GBK");
之前发错了,经测试,这样写不出乱码,但我要求xml必须是utf-8的 [/quote]
那write(json, "utf-8");
可以么,