转换为 JS 对象
Convert to JS Object
如何将其转换为 JS 对象:
{"info":["Image has been added"],"success":["No success Sorry!"]}
JSON.parse 抛出一个错误并说 " 无效 JSON。我是 JS 的新手,不知道如何处理这个问题。
我正在使用 express 的 connect-flash 将 flash 消息传输到客户端。为此,我使用以下代码:
if Object.keys(locals.flashes).length !== 0
script.
flashArr="#{JSON.stringify(locals.flashes)}"
在客户端,对象的表示无效 JSON。我该如何处理。
如何将其转换为JS对象?
如果我这样尝试它 returns 我是有效的 JS 对象。我刚刚使用 String.prototyp.replace and then parse it using JSON.parse() 像这样
将 "
全局替换为 ""
invalid_data = '{"info":["Image has been added"],"success":["No success Sorry!"]}';
valid_data = invalid_data.replace(/"/g, '"');
console.log(JSON.parse(valid_data));
根据建议,您需要将 HTML 实体解析为字符,即将 "
转换为 "
。最简单的方法是使用正则表达式:
var str = '{"info":["Image has been added"],"success":["No success Sorry!"]}';
var obj = JSON.parse(str.replace(/"/g,'"'));
console.log(obj);
当然,如果代码中还有其他 HTML 实体,使用内置的 HTML 解析器可能会更好:
var str = '{"info":["Image has been added"],"success":["No success Sorry!"]}';
var el = document.createElement('div');
el.innerHTML = str;
var obj = JSON.parse(el.textContent);
console.log(obj);
但对于单个实体,替换可能更快更有效。
如何将其转换为 JS 对象:
{"info":["Image has been added"],"success":["No success Sorry!"]}
JSON.parse 抛出一个错误并说 " 无效 JSON。我是 JS 的新手,不知道如何处理这个问题。
我正在使用 express 的 connect-flash 将 flash 消息传输到客户端。为此,我使用以下代码:
if Object.keys(locals.flashes).length !== 0
script.
flashArr="#{JSON.stringify(locals.flashes)}"
在客户端,对象的表示无效 JSON。我该如何处理。
如何将其转换为JS对象?
如果我这样尝试它 returns 我是有效的 JS 对象。我刚刚使用 String.prototyp.replace and then parse it using JSON.parse() 像这样
将"
全局替换为 ""
invalid_data = '{"info":["Image has been added"],"success":["No success Sorry!"]}';
valid_data = invalid_data.replace(/"/g, '"');
console.log(JSON.parse(valid_data));
根据建议,您需要将 HTML 实体解析为字符,即将 "
转换为 "
。最简单的方法是使用正则表达式:
var str = '{"info":["Image has been added"],"success":["No success Sorry!"]}';
var obj = JSON.parse(str.replace(/"/g,'"'));
console.log(obj);
当然,如果代码中还有其他 HTML 实体,使用内置的 HTML 解析器可能会更好:
var str = '{"info":["Image has been added"],"success":["No success Sorry!"]}';
var el = document.createElement('div');
el.innerHTML = str;
var obj = JSON.parse(el.textContent);
console.log(obj);
但对于单个实体,替换可能更快更有效。