Ajax返回模式

I'm having a problem getting my query result into a modal.

When I hit a button it should me open a modal with all results, but I get this error:

jquery.min.js:2 Uncaught TypeError: Cannot use 'in' operator to search for 'length' in

My query is working and I can see the result in my console.

$.ajax({
  type: "POST",
  url: "/miga/db/getFromDatabase.php",
  data: {
    getAllEventosById: getAllEventosById,
    id: id
  },
  cache: false,
  success: function(data) {
    console.log(data);
    $.each(data, function(key, value) {

      var NewRow = '<tr><td id="idEvento">' + value.idEvento + '</td>';
      NewRow += '<td id="nome">' + value.nome + '</td>';
      NewRow += '<td id="email">' + value.email + '</td>';
      NewRow += '<td input type="checkbox" id="presente">Presente</td>';
      NewRow += '</tr>';
      $(".doCertificado").append(NewRow);
    });
    $("#eventosDocentesModal").modal('show');
  },
  error: function(err) {
    console.log(err);
  }
});

any help? Thanks

UPDATE

I have used Json.parse(data) and i don't have the error anymore but i have no result in my modal. I'm getting all results in [{…}, {…}, {…}, {…}, {…}] How can i receive the string in my modal? I need to get the name and email into the table