当前位置: 首页 > 面试题库 >

Java中的xml到json转换问题,第一个前导零丢弃的fom字符串

陶鹏
2023-03-14
问题内容

我的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 );


 类似资料:
  • 我还没有找到一个能解决PHP中整数到字符串转换这一方面的问题,所以 我有一个文件,其中一个字段包含一些长度为3、4或5位的数字,我需要将所有数字标准化为4位 如果数字是123、1234、12345,那么为了标准化,我在第一个数字后面加了一个零,第二个数字不加任何处理,第三个数字四舍五入:到目前为止还不错。问题在于,该文件包含一些具有有效前导零023、0234、02346的数字 我需要保留前导零,我

  • com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“ID”(类com.optimight.prakash.general.employee)未标记为可忽略(0个已知属性:]),位于[源:(字符串)“{”ID“:1,”名称“:”Lokesh Gupta“,”年龄“:34,”位置“:”印度“}”;行:1,列:

  • 问题内容: 是否有现有的JAR可以将JSON转换为XML? 问题答案: 不是Java,而是 纯XSLT 2.0实现 : 看一看在 从 FXSL 2.x库 。 使用此功能非常容易合并JSon并将其用作XML。 例如,可以只编写以下XPath表达式: 并 让所有的孩子用 这是完整的示例: 当上述转换应用于任何XML文档(忽略)时,将产生正确的结果 :

  • 问题内容: 我目前正在用Java开发拍卖程序,我正在尝试确定截止日期,但是我的日期不断出现,因为(7/04/2013 11:22),有没有办法使用String.format添加前导零到今天是一位数字的日子? 稍后当我尝试对它进行子字符串处理时,这会导致我出现问题,并且它的长度少于17个字符。 预先感谢詹姆斯。 问题答案: 只需使用SimpleDateFormat

  • 我目前正在开发一个应用程序,用户可以通过十六进制编辑器界面编辑ByteBuffer,也可以通过JTextPane编辑相应的文本。我当前的问题是因为JTextPane需要一个字符串,我需要在显示值之前将ByteBuffer转换为字符串。但是,在转换过程中,无效字符将替换为字符集默认替换字符。这会压缩无效值,因此当我将其转换回字节缓冲区时,无效字符值将替换为默认替换字符的字节值。有没有一种简单的方法可

  • 问题内容: 什么是转换不同的方法来,我知道有一个选项,但想知道是什么其他可用于相同? 注意: 我没有进一步的要求,因此我不能在这个问题上添加更多内容,但是在此时,如果我能知道有哪些不同的方法可用于转换,那将非常棒。 更新: 建议的不同方法是: javax.xml.bind.Marshaller和javax.xml.bind.Unmarshaller XStream的 XMLBean jaxb ca