使用 node,express 在 ejs 文件上使用 JSON.parse 后无法将数据转换回 json

Not being able to Convert data back to json after using JSON.parse on ejs file using node,express

我从外部 API 在我的服务器上获取数据,然后我尝试使用 JSON.stringify(data) 将该数据发送到 ejs 文件,并尝试读取 ejs 中的数据带有 JSON.parse(data) 的文件,但我要么得到类似 [Object object] 的东西,要么得到一个包含很多奇怪字符的字符串,我尝试使用替换,但它仍然不起作用。

这是我在服务器端的。

router.get("/api", (req, res) => {

const info = {
        place: "London",
        country: "UK",
        temp: "16",
        weather: "Cloudy",
      };
      res.render("weathery", { user: JSON.stringify(info) });
}

这是我在 ejs 文件端的内容。

<script>
      var data = "<%= user %>";
      const newData = data;

      console.log(newData);
</script>

这是不使用 JSON.parse

打印的内容

{“地点”:“伦敦”,“国家”:“英国”,“温度”:“16”,“天气”:“多云”}

我尝试在#、&、;等奇怪的字符上使用替换和 34 它没有用,如果正在接收一些数字为 34

的数据,在某些情况下也会导致问题

每当我尝试解析它时都会发送错误 “未捕获的语法错误:位置 1 JSON 中的意外标记 &”

希望你能帮助我,祝你有愉快的一天:)

改变这个

var data = "<%= user %>"

为此:

var data = `<%- user %>`