这是前几天碰到的问题,读取一个文件,string 转json,然后json转xml就挂了。
报错 throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index);
StackOverflow上给出了可能的答案,如果你的文件里面的字符都是正确的话,这种方式应该可以解决你的问题。
要设置 allowSurrogateChars: true Google一下,怎么弄自己看去吧。
但是这并不能解决我的问题。捣鼓很久,最后发现源文件txt中有一个类似T的字符,就挂在这儿了,其实这是一个控制符,ascii的前20,30位中大部分是不可打印的控制符。
试图解析一个控制符肯定是不行的。所以你可以选择删掉控制符,或者用正则式只选出可打印的字符,正则式如下 /[^\u0007-\u000D\u001F-\u007F]/g