【问题标题】:Avoid escaping of characters when converting JSON to XML将 JSON 转换为 XML 时避免转义字符
【发布时间】:2023-03-09 09:03:01
【问题描述】:

在 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。

当这些被传递给将其转换为 XML 的 soap api 时,它变成:

<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的时候就不会转义了。

在这方面的任何帮助都会很棒。

【问题讨论】:

  • 这看起来像是 SOAP api 方面的问题,而不是 json 编码
  • 请添加您用来生成 XML 的命令,以便我们重现该问题。
  • @user3286912 你怎么发送json?你能添加例子吗?
  • 我正在将参数传递给调用肥皂 api 的 Suds 库。 Suds 库中的 call 函数正在实际调用soap api。有没有办法可以在这里修改xml?
  • 我已经从 suds.client 导入了 Method 并使用它来调用 soap api 的参数。

标签: python json xml encoding escaping


【解决方案1】:

这与 JSON 结尾无关,这是一个选择不会转义撇号的 XML 序列化程序的问题。我不知道 Python 世界有什么可用的,但如果要求大多数 XML 工具使用 &amp;apos; 引用解析这个 XML,然后重新序列化它,将“按原样”输出撇号而不转义。

【讨论】:

    猜你喜欢
    • 2020-02-05
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    • 2014-11-16
    • 2012-10-26
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多