我的xml包含要作为字符串处理的属性值“ 0123”,按照以下代码从xml转换为json后,导致前导零从属性值中丢弃。
二手课
import org.jdom.Attribute; import org.jdom.Document; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; import org.json.JSONObject; import org.json.XML;
//将xml转换为json
org.jdom.Document jdomDocument = new Document(); org.jdom.Element Attribute = new org.jdom.Element("Attribute"); jdomDocument.setRootElement(Attribute); org.jdom.Element valueElement = new org.jdom.Element("Value"); valueElement.setText(getValue()); // "0123" // getValue() return anything like boolean,string,long,date, time etc.. root.addContent(valueElement); String xmlval = new XMLOutputter(Format.getPrettyFormat()).outputString(jdomDocument); JSONObject xmlJSONObj = XML.toJSONObject(xmlval); String jsonPrettyPrintString = xmlJSONObj.toString(4);
如何解决这个问题?
有用 :)
在CDATA部分中添加了值,因此从xml转换为json值时按原样显示
org.jdom.Element valueElement = new org.jdom.Element("Value"); org.jdom.CDATA cdata = new org.jdom.CDATA(getValue()); valueElement.setText(cdata );