I have the following script that returns the array as expected. When I go to add the "Rows.Add" aspect, I get a 500 error. I am testing the script on a cloudpage with plans to move it to an automation. The code works without the Rows.Add. The data is a large array formatted as [{"ID":1,"Type":#,"Name":"","APR":#,"Category":"None","IsActive":true},...]. The array is around 50 elements and the data extension lines up 1 to 1 with field names. My manual test payload also adds correctly.
<script runat="server" language="javascript">
Platform.Load("Core","1.1");
...
var response = HTTP.Get(url, headerNames, headerValues);
arr = response.Content;
var de = DataExtension.Init(EXTERNALKEY);
//var addedRowCount = de.Rows.Add(arr);
Write("Rows added: " + addedRowCount );
</script>
try { ...your code } catch(e) { Write(Stringify(e)) }
and this should give you a write out on the page for what the error is. But honestly I get the feeling that your array is coming in as a string and not an array so might need to do ParseJSON() on it to turn it to the correct data type.