在JSON上使用#text使用Json.org转换XML

时间:2015-02-18 12:39:29

标签: java xml json groovy soapui

我正在使用json.org将json字符串转换为XML,一切都很好,因为我知道如何使用该库,但我有一个问题,我希望能够从JSON转换为XML是这样的:

XML:

<ocs:price exponent="-1">2</ocs:price>

JSON:

"ocs:price": {
            "-exponent": "-1",
            "#text": "2"
          }

如果我使用json.org,当我将所有内容转换为XML时,我会得到以下内容:

<ocs:price>
   <#text>2</#text>
   <exponent>-1</exponent>
</ocs:price>

这不是我想要的,怎么可能转换 使用JSON.org库将<ocs:price exponent="-1">2</ocs:price>转换为JSON值字符串?

问候。

1 个答案:

答案 0 :(得分:2)

你想这样,groovy脚本跟随

import net.sf.json.JSON
import net.sf.json.JSONSerializer
import net.sf.json.xml.XMLSerializer

String str = '''{
  "ocs:price": {
    "@exponent": "-1",
    "#text": "2"
  }
}'''
JSON json = JSONSerializer.toJSON( str )
XMLSerializer xmlSerializer = new XMLSerializer()
xmlSerializer.setTypeHintsCompatibility( false )
String xml = xmlSerializer.write( json )
System.out.println(xml)