Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将JSON数组解析为JSON对象时出错_Node.js_Arrays_Json_Ejs - Fatal编程技术网

Node.js 将JSON数组解析为JSON对象时出错

Node.js 将JSON数组解析为JSON对象时出错,node.js,arrays,json,ejs,Node.js,Arrays,Json,Ejs,我试图在EJS中将新闻转换为json,但我遇到了以下错误: JSON.parse: bad control character in string literal at line 1 column 491 of the JSON data 我在EJS中的代码: var news = JSON.parse('<%- JSON.stringify(news) %>'); 编辑:我发现错误是“snippet”标记,但我需要它。我认为JSON.parse()将很难处理您提供给它的内容,因

我试图在EJS中将新闻转换为json,但我遇到了以下错误:

JSON.parse: bad control character in string literal at line 1 column 491 of the JSON data
我在EJS中的代码:

var news = JSON.parse('<%- JSON.stringify(news) %>');

编辑:我发现错误是“snippet”标记,但我需要它。

我认为
JSON.parse()
将很难处理您提供给它的内容,因为它只看到一个简单的字符串,而不是经过计算的EJB,甚至是有效的JSON

也许更大致的是:

var json = <your-JSON-here>;
var news = ejs.render('<%- JSON.stringify(news) %>', {news: json});

您的
stringized
json中有换行符和可能的制表符。您可以尝试
json.replace(/\\n/g,”)
替换字符串化的json吗?
JSON.stringify()。您可以使用此网站查看换行符并验证上述json。我尝试了其他json,得到了“SyntaxError:missing)after argument list”。您在问题中发布的
json
有换行符。以下SO问题可能能够解决您的问题—可能存在重复的问题
var json = <your-JSON-here>;
var news = ejs.render('<%- JSON.stringify(news) %>', {news: json});
news = JSON.parse(news);