How to configure Webhook Response Template to return a data table

Options
Jeff_146001
Jeff_146001 Posts: 296 admin
edited May 2020 in Questions

I'm trying to return a data table as JSON in a Webhook Trigger.

I believe this is close, but there's some bad syntax in the response.

Webhook Response Template:

  {
    "mystring": "{{mystring}}",
    "mytable": {{mytable}},
    "runID": ""
  }

JavaScript formula to convert CSV text field to JSON array:

  var lines=fields["csvtext"].split("\r\n");

  var output = [];

  var headers=lines[0].split(",");

  for(var i=1;i<lines.length;i++){

      var obj = {};
      var currentline=lines[i].split(",");
      for(var j=0;j<headers.length;j++){
          obj[headers[j]] = currentline[j];
      }
      output.push(obj);
  }

  result = JSON.stringify(output); //JSON

Current response

The current response is replacing " with &quot; in some places that it shouldn't, causing the response to be malformed.

  {
    "mystring": "Hello World",
    "mytable": [{&quot;Number&quot;:&quot;1&quot;},{&quot;Number&quot;:&quot;2&quot;},{&quot;Number&quot;:&quot;3&quot;},{&quot;Number&quot;:&quot;4&quot;},{&quot;Number&quot;:&quot;5&quot;},{&quot;Number&quot;:&quot;6&quot;},{&quot;Number&quot;:&quot;7&quot;},{&quot;Number&quot;:&quot;8&quot;},{&quot;Number&quot;:&quot;9&quot;},{&quot;Number&quot;:&quot;10&quot;},{&quot;Number&quot;:&quot;11&quot;},{&quot;Number&quot;:&quot;12&quot;},{&quot;Number&quot;:&quot;13&quot;},{&quot;Number&quot;:&quot;14&quot;},{&quot;Number&quot;:&quot;15&quot;},{&quot;Number&quot;:&quot;16&quot;},{&quot;Number&quot;:&quot;17&quot;},{&quot;Number&quot;:&quot;18&quot;},{&quot;Number&quot;:&quot;19&quot;},{&quot;Number&quot;:&quot;20&quot;},{&quot;Number&quot;:&quot;21&quot;},{&quot;Number&quot;:&quot;22&quot;},{&quot;Number&quot;:&quot;23&quot;},{&quot;Number&quot;:&quot;24&quot;},{&quot;Number&quot;:&quot;25&quot;},{&quot;Number&quot;:&quot;26&quot;},{&quot;Number&quot;:&quot;27&quot;},{&quot;Number&quot;:&quot;28&quot;},{&quot;Number&quot;:&quot;29&quot;},{&quot;Number&quot;:&quot;30&quot;},{&quot;Number&quot;:&quot;31&quot;},{&quot;Number&quot;:&quot;32&quot;},{&quot;Number&quot;:&quot;33&quot;},{&quot;Number&quot;:&quot;34&quot;},{&quot;Number&quot;:&quot;35&quot;},{&quot;Number&quot;:&quot;36&quot;},{&quot;Number&quot;:&quot;37&quot;},{&quot;Number&quot;:&quot;38&quot;},{&quot;Number&quot;:&quot;39&quot;},{&quot;Number&quot;:&quot;40&quot;},{&quot;Number&quot;:&quot;41&quot;},{&quot;Number&quot;:&quot;42&quot;},{&quot;Number&quot;:&quot;43&quot;},{&quot;Number&quot;:&quot;44&quot;},{&quot;Number&quot;:&quot;45&quot;},{&quot;Number&quot;:&quot;46&quot;},{&quot;Number&quot;:&quot;47&quot;},{&quot;Number&quot;:&quot;48&quot;},{&quot;Number&quot;:&quot;49&quot;},{&quot;Number&quot;:&quot;50&quot;},{&quot;Number&quot;:&quot;51&quot;},{&quot;Number&quot;:&quot;52&quot;},{&quot;Number&quot;:&quot;53&quot;},{&quot;Number&quot;:&quot;54&quot;},{&quot;Number&quot;:&quot;55&quot;},{&quot;Number&quot;:&quot;56&quot;},{&quot;Number&quot;:&quot;57&quot;},{&quot;Number&quot;:&quot;58&quot;},{&quot;Number&quot;:&quot;59&quot;},{&quot;Number&quot;:&quot;60&quot;},{&quot;Number&quot;:&quot;61&quot;},{&quot;Number&quot;:&quot;62&quot;},{&quot;Number&quot;:&quot;63&quot;},{&quot;Number&quot;:&quot;64&quot;},{&quot;Number&quot;:&quot;65&quot;},{&quot;Number&quot;:&quot;66&quot;},{&quot;Number&quot;:&quot;67&quot;},{&quot;Number&quot;:&quot;68&quot;},{&quot;Number&quot;:&quot;69&quot;},{&quot;Number&quot;:&quot;70&quot;},{&quot;Number&quot;:&quot;71&quot;},{&quot;Number&quot;:&quot;72&quot;},{&quot;Number&quot;:&quot;73&quot;},{&quot;Number&quot;:&quot;74&quot;},{&quot;Number&quot;:&quot;75&quot;},{&quot;Number&quot;:&quot;76&quot;},{&quot;Number&quot;:&quot;77&quot;},{&quot;Number&quot;:&quot;78&quot;},{&quot;Number&quot;:&quot;79&quot;},{&quot;Number&quot;:&quot;80&quot;},{&quot;Number&quot;:&quot;81&quot;},{&quot;Number&quot;:&quot;82&quot;},{&quot;Number&quot;:&quot;83&quot;},{&quot;Number&quot;:&quot;84&quot;},{&quot;Number&quot;:&quot;85&quot;},{&quot;Number&quot;:&quot;86&quot;},{&quot;Number&quot;:&quot;87&quot;},{&quot;Number&quot;:&quot;88&quot;},{&quot;Number&quot;:&quot;89&quot;},{&quot;Number&quot;:&quot;90&quot;},{&quot;Number&quot;:&quot;91&quot;},{&quot;Number&quot;:&quot;92&quot;},{&quot;Number&quot;:&quot;93&quot;},{&quot;Number&quot;:&quot;94&quot;},{&quot;Number&quot;:&quot;95&quot;},{&quot;Number&quot;:&quot;96&quot;},{&quot;Number&quot;:&quot;97&quot;},{&quot;Number&quot;:&quot;98&quot;},{&quot;Number&quot;:&quot;99&quot;},{&quot;Number&quot;:&quot;100&quot;}],
    "runID": ""
  }

Best Answer

  • Stacy_131492
    Stacy_131492 Posts: 13
    Answer ✓
    Options

    @Jeff_146001 have you tried using three handlebars around the table reference like: {{{my-table}}}? If I remember correctly, that will prevent replacing special characters like ".