OK, for an array.
Consider this JSON package:
{ "response": [
{"Qkey": "2000798-1"},
{"Qkey": "2000798-2","Qans1": "111"},
{"Qkey": "2000798-4","Qans1": "222"},
{"Qkey": "2000798-5","Qans1": "333","Qans2": "serial_number"},
{"Qkey": "2000798-6","Qans1": "444"},
{"Qkey": "2000798-7","Qans1": "555"},
{"Qkey": "2000798-8","Qans1": "666"}
] }
This needed the following Aware structure to receive it:
"header level"

"detail lines"

So this service doesn't send a reply.
Just stores the data from the JSON, and then a process posts it to the DB.
I didn't have any "header" data in the JSON, but thats where your Invoice Header fields would go.
I always use CodeBeautify.com to validate & test JSON.
Plus its easier to use PostMan to send JSON tests to Aware. You'll see a 200 response if all OK, or a 500.
Aware will crap out if you mistype a field name, so better to get it working in PostMan, THEN worry about the phone.
--> JaymerTip JSON Example, REST processing a JSON response