我想用JSON
从字符串创建XML
并返回该JSON
。
我有Oracle PL/SQL
过程,而不是CLOB OUT
参数。在此过程中,我生成了XMLType
,并将此值转换为CLOB
,并在OUT
参数中返回了该值。
import groovy.sql.Sql
try {
result = [:]
def chooseConfiguration = data.json.chooseConfiguration
def xmlConfig
def stmt = '{call XX_PRODSCH_CONFIG.get_xml_with_configuration(?, ?)}'
def params = [chooseConfiguration, Sql.CLOB]
def callResult = [ReturnString:'']
data.sql.call stmt, params, {
x_return_string ->
callResult = [
ReturnString: x_return_string
]
}
oracle.sql.CLOB clob = callResult.ReturnString
xml = clob.getSubString(1, (int) clob.length())
result.result = xml
} catch(Exception ex) {
result.result = 'EXCEPTION: ' + ex.toString() + "\n\n" + ex.getMessage() + "\n\n" + ex.getStackTrace()
}
上面的代码是REST
,我将尝试在bash中使用CURL
并获取JSON
,然后在bash中再次从XML
创建JSON
。我的常规只能返回JSON
,而我不能返回XML
。这是多余的,但这只是在bash中使用数据库中数据的一种方法。
现在我在邮递员那里得到回报XML
:
{"result":"<root><resourceCode>606114:110010</resourceCode><attributeCode>LEAF</attributeCode><attributeCode>PCB_LENGTH</attributeCode><attributeCode>TECHNOLOGY</attributeCode><resourceCode>1060120:110010</resourceCode><attributeCode>FAMILY</attributeCode><attributeCode>PCB</attributeCode><attributeCode>PCB_WIDTH</attributeCode><attributeCode>DIODE</attributeCode><resourceCode>606108:110010</resourceCode><attributeCode>PCB</attributeCode></root>"}