我必须使用几个replaceAll
函数来清理数据。
JSON.parse(data.replaceAll('{\'', '{"').replaceAll('\'}', '"}').replaceAll('\',\'', '","').replaceAll('\': \'', '": "').replace(/[\n\r]+/g, ' ').replaceAll(" ", " "));
有更好的方法吗?
任何建议将不胜感激。
预先感谢
答案 0 :(得分:2)
您可以清理代码并在成对的数组中定义替换项,然后使用reduce
const replacements = [["{'", '{"'], ["'}", '"}'], ["','", '","'], ["': '", '": "'], ['\n', ' '], ['\r', ' '], [' ', ' ']];
const data = `{' {'{'{' {' '}'} '}'} ','',' ',' ': ' ': '': '': ' Hello\n\r\n\n\r\n\n\r\nWorld\n\r`;
const newData = replacements.reduce((a, [token, replacement]) => a.replace(new RegExp(token, 'g'), replacement), data);
console.log(newData);
但是正如Dean Taylor所提到的,最好使用一个库来解析非标准JSON数据(如果您要这样做的话)。