首页 > 解决方案 > 在 EJS 模板中显示 JSON 数据 - 意外的字符串语法错误

问题描述

我正在尝试使用 EJS 显示 MySQL 查询的结果。查询返回以下格式的 JSON 数组:

[ TextRow {
    'Sample ID': 'S0001',
    'Panel ID': 'P0001',
     Gene: BRAC1,
    'DNA z-score': 0.7
     Chromosome: 11 },
  TextRow {
      'Sample ID': 'S0003',
      'Panel ID': 'P0009',
       Gene: PTEN,
      'DNA z-score': 0.5,
       Chromosome: 5 } ]

我有以下 EJS 代码:

<% if(data.length) { %>
   <% for(var i = 0; i < data.length; i++) { %>
      <tr>
         <td><%=data[i].'Sample ID'%></td>
         <td><%=data[i].'Variant ID'%></td>
         <td><%=data[i].Gene%></td>
         <td><%=data[i].'DNA z-score'%></td>
         <td><%=data[i].Chromosome%></td>
      </tr>
   <% } %>

但是,我收到以下错误:

SyntaxError: Unexpected string in "/Users/userone/Documents/Project/results.ejs"

我不确定为什么会收到此错误以及如何解决它。对于“Sample ID”、“Panel ID”和“DNA z-score”键,这些都是单引号,所以我不确定使用什么正确的语法。任何见解都值得赞赏。

标签: mysqlnode.jsjsonejs

解决方案


推荐阅读