【问题标题】:API Returning XML Quotes Escaped by BackslashAPI 返回由反斜杠转义的 XML 引号
【发布时间】:2016-12-26 21:31:07
【问题描述】:

我有一个类似于 REST 端点的 NetSuite“RESTlet”。它接受来自电子商务网站的一些 JSON。它解析 JSON,然后生成一些 XML,用于调用第三方运输 API。

我正在尝试在邮递员中进行测试,当我调用 RESTlet 时,无论它返回用双引号括起来的 XML 并且它用反斜杠转义引号。

我相信这是我使用 RESTlet 的问题,因为我可以采用相同的 XML,从字符串中删除反斜杠,然后使用它来调用运输 API,它可以按预期工作。

我试图不使用转义引号返回我的 XML 的事情

  1. 在字符串周围使用单引号,在 XML 中使用双引号 属性
  2. 使用双引号并在内部使用反斜杠转义引号 属性
  3. 使用 &quot 作为引号
  4. 使用 NetSuite API nlapiStringToXML 和 nlapiEscapeXML
  5. 使用 DOMParser。我相信在这种情况下没有 DOM
  6. 我什至尝试过 string.replace "\ for " 看看是否可行

我的理论是,因为 RESTlet 接受 application/json 它返回 JSON 对象文字 https://stackoverflow.com/a/3154507/3548821 然后通过转义引号来格式化字符串。

可能有点难以调试,但任何想法/建议将不胜感激。

    // build out XML
    // code shortened for readability
    var xmlRequest = '<?xml version="1.0" encoding="UTF-8"?>'
        xmlRequest += '<ns2:RatingRequest xmlns:ns2="http://schemas.....com,">'
        xmlRequest += '<RequestToken>4354534</RequestToken>'


    return xmlRequest;

返回

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>...."

【问题讨论】:

  • 你在看控制台输出吗?它只是向您展示如果要将字符串用作 JavaScript 字符串常量,您必须如何对其进行编码。
  • 你说的是邮递员?当我看“原始”身体时也是这样,这仍然是正常行为吗?
  • 我不知道;我的意思是,你究竟是如何检查这些价值观的? JavaScript 本身绝对不会做这样的事情。
  • 我只是在看邮递员的尸体。它只是显示正在返回的内容。

标签: javascript json xml netsuite


【解决方案1】:

RESTlet 仅支持 JSON 和纯文本内容类型的输入和输出内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2016-12-02
    相关资源
    最近更新 更多