nodejs:xml2js返回损坏的数据结构,因为它插入了转义符

时间:2019-01-15 23:57:16

标签: javascript node.js json xml xml2js

xml2js添加了转义字符,这会使它自己的json无效,我的xml已经包含转义字符。无论如何,有没有告诉xml2js不要插入转义字符?

之所以知道这一点,是因为我查看了响应,并在我的xml文件中找到了... if ($_1b4wbxfvjjgwechi.shouldShowLinkTitle(editor.settings)) { linkTitleCtrl = { name: 'title', type: 'textbox', label: 'Title', value: data.title, onkeyup : searchTitle }; } var searchTitle = function(e) { var linkList = $_1b4wbxfvjjgwechi.getLinkList(editor.settings); linkList = linkList+"&q="+e.target.value; editor.settings.link_list = linkList; }; ... tinymce.init({ ... link_list : 'ajax/ajax-html.php?request=tinymceurls' ... }); var searchTitle = function(e) { var linkList = $_1b4wbxfvjjgwechi.getLinkList(editor.settings); linkList = linkList+"&q="+e.target.value; editor.settings.link_list = linkList; }; ... 这个'5.4\\"'

2 个答案:

答案 0 :(得分:1)

通常,XML到JSON库将假定XML文件中的数据是使用常规XML约定表示的,也就是说,它将不包含JSON样式的转义序列。因此,将假设XML中的Array ( [0] => 00001 [1] => 00002 [2] => 00003 ) 代表反斜杠,其后是引号,在JSON中以\"表示。

如果您想考虑在XPath 3.1中使用\\\"函数,则可以选择用xml-to-json()标记输入XML,以指示XML中存在JSON转义序列。当然,还有许多其他的XML到JSON转换库可用,它们都有各自的怪癖,约定和限制。

答案 1 :(得分:0)

感谢您的帮助,我得出的解决方案是,在原始xml文件上进行搜索并替换为sed,然后再由bash的xml2js处理该文件,因为这是脚本的一部分,该脚本有效真的很好