【发布时间】:2016-12-26 21:31:07
【问题描述】:
我有一个类似于 REST 端点的 NetSuite“RESTlet”。它接受来自电子商务网站的一些 JSON。它解析 JSON,然后生成一些 XML,用于调用第三方运输 API。
我正在尝试在邮递员中进行测试,当我调用 RESTlet 时,无论它返回用双引号括起来的 XML 并且它用反斜杠转义引号。
我相信这是我使用 RESTlet 的问题,因为我可以采用相同的 XML,从字符串中删除反斜杠,然后使用它来调用运输 API,它可以按预期工作。
我试图不使用转义引号返回我的 XML 的事情
- 在字符串周围使用单引号,在 XML 中使用双引号 属性
- 使用双引号并在内部使用反斜杠转义引号 属性
- 使用 " 作为引号
- 使用 NetSuite API nlapiStringToXML 和 nlapiEscapeXML
- 使用 DOMParser。我相信在这种情况下没有 DOM
- 我什至尝试过 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