将JSON转换为XML

时间:2018-02-07 14:20:19

标签: python json xml encoding escaping

在python中是否有办法修改我的JSON,当我将JSON输入发送到我的SOAP api并将数据转换为XML时,json数据不会被转义。

这是JSON数据:

{'test1': [{'entityClass': '', 'entityMode': 'Q', 'Mgr2': '', 'Mgr3': '', 'Mgr1': '', 'Recid': 0, 'CSRCode': '', }, {'entityClass': '', 'entityMode': 'Q', 'Mgr2': '', 'Mgr3': '', 'Mgr1': '', 'Recid': 0, 'CSRCode': ''}]}

我将这些参数传递给Suds库,以调用SOAP api。

当这些传递给soap api并将其转换为XML时,会变为:

<TblJSONData>{&apos;tblw&apos;: [{&apos;CSRClass&apos;: &apos;&apos;, &apos;Mode&apos;: &apos;Q&apos;, &apos;EscMgr2&apos;: &apos;&apos;, &apos;EscMgr3&apos;: &apos;&apos;, &apos;EscMgr1&apos;: &apos;&apos;, &apos;EntityRecid&apos;: 0, &apos;CSRCode&apos;: &apos;11945&apos;, &apos;Entity&apos;: &apos;&apos;, &apos;RC&apos;: 0, &apos;ErrMsg&apos;: &apos;&apos;, &apos;EntityCount&apos;: 0}, {&apos;CSRClass&apos;: &apos;&apos;, &apos;Mode&apos;: &apos;Q&apos;, &apos;EscMgr2&apos;: &apos;&apos;, &apos;EscMgr3&apos;: &apos;&apos;, &apos;EscMgr1&apos;: &apos;&apos;, &apos;EntityRecid&apos;: 0, &apos;CSRCode&apos;: &apos;96456&apos;, &apos;Entity&apos;: &apos;&apos;, &apos;RC&apos;: 0, &apos;ErrMsg&apos;: &apos;&apos;, &apos;EntityCount&apos;: 0}, {&apos;CSRClass&apos;: &apos;&apos;, &apos;Mode&apos;: &apos;Q&apos;, &apos;EscMgr2&apos;: &apos;&apos;, &apos;EscMgr3&apos;: &apos;&apos;, &apos;EscMgr1&apos;: &apos;&apos;, &apos;EntityRecid&apos;: 0, &apos;CSRCode&apos;: &apos;65844&apos;, &apos;Entity&apos;: &apos;&apos;, &apos;RC&apos;: 0, &apos;ErrMsg&apos;: &apos;&apos;, &apos;EntityCount&apos;: 0}]}<TblJSONData>

有没有办法修改JSON,所以当它转换为xml时,它不会被转义。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

这与JSON的结尾无关,这是一个选择不会撇开撇号的XML序列化器的问题。我不知道Python世界中可用的是什么,但是大多数XML工具如果被要求用&apos;引用解析这个XML,然后重新序列化它,将输出撇号&# 34;原样&#34;没有逃脱。