Hello everyone!
I need your help!
I'm working with an API and use HTTP-GET and then Parse JSON to create CSV.
But when I tried create a CSV, I recived this error: "The 'from' property value in the 'table' action inputs is of type 'Null'. The value must be of type 'Array'."
This is my schema:
Thank you for posting this! This the dynamic populated syntax was the culprit for my issue as well - it caused the NULL result. Removing the "?" between the body and the property correctly retrieved the property. I did a Parse JSON step and it worked for that and then I was able to apply that fix to get the property to populate from the trigger condition. The "body" in the JSON file was an object as well and the "Files" element was an array of objects too, very similar to your case.
"body": {
"type": "object",
"properties": {
...
"File": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ContentType": {
"type": "string"
},
"Id": {
"type": "string"
},
"IsEncrypted": {
"type": "boolean"
},
"Name": {
"type": "string"
},
"Size": {
"type": "integer"
},
"File": {
"type": "string"
},
"Content": {
"type": "string"
}
},
I had this same issue. Ultimately I realized that the dynamic content populated the incorrect syntax into the "From" field in the Create CSV Table template.
When I used the "Dynamic Content" GUI to select the Array (in my case it is named "PortfolioTrades") from the "Parse JSON" step, the syntax generated was "body('Parse_JSON')?['body']?['PortfolioTrades']".
When I used the automatically generated code, I always received the "The 'from' property value in the 'table' action inputs is of type 'Null'. The value must be of type 'Array'." error as did the OP. I subsequently modified the "From" field to the following syntax manually: "body('Parse_JSON')['PortfolioTrades']" which successfully created the CSV from the "Parse JSON" output. In my case, the "body" in the JSON file being parsed by the "Parse JSON" template is an object, not an array, whereas the "PortfolioTrades" element is an array (of objects).
============= Code Snippet ==========
"Parse_JSON" code:
=============
============= Code Snippet ==========
"Create CSV table" code: (AUTOMATICALLY GENERATED BY THE GUI = THIS IS THE INCORRECT SYNTAX)
=============
============= Code Snippet ==========
"CORRECTED Create CSV table" code: (Manually created using Expression = This syntax worked for me.)
=============
Hi @GABRIELV221
Since it is expecting a variable of type array, see if creating an empty array variable would help.
Also refer this link.
...
Yes, when I do click on Parse JSON OUTPUT I see content.
Eg:
{"body":{"ok":true,"message":"","error_code":0,"response":[{"contractor_code":"11-2222222-3","contractor_name":"CONT NAME","plate_number":"ZZ123XX","brand":"HYUNDAI","model":"N/A","vehicle_status":"0","sign_off_date":"","status_code":2,"employees":[]}]}}
HTTP:
It looks like the input to your Parse JSON step is null. When you click on "Click to Download", you see content there? Can you expand your http step in your executed flow to see what is there in the output?
Pat
Hello @mahoneypat.
It was my mistake when copying...
This is the "Parse JSON OUTPUT":
{"body":{"ok":true,"message":"","error_code":0,"response":[{"contractor_code":"11-2222222-3","contractor_name":"CONT NAME","plate_number":"ZZ123XX","brand":"HYUNDAI","model":"N/A","vehicle_status":"0","sign_off_date":"","status_code":2,"employees":[]}]}}
But the "Create CSV Table From" is null.
Error:
The 'from' property value in the 'table' action inputs is of type 'Null'. The value must be of type 'Array'.
Edit mode:
Schema:
{
"type": "object",
"properties": {
"statusCode": {
"type": "integer"
},
"headers": {
"type": "object",
"properties": {
"Pragma": {
"type": "string"
},
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
},
"X-XSS-Protection": {
"type": "string"
},
"X-Frame-Options": {
"type": "string"
},
"Keep-Alive": {
"type": "string"
},
"Connection": {
"type": "string"
},
"Transfer-Encoding": {
"type": "string"
},
"Cache-Control": {
"type": "string"
},
"Date": {
"type": "string"
},
"Set-Cookie": {
"type": "string"
},
"Server": {
"type": "string"
},
"Content-Type": {
"type": "string"
},
"Expires": {
"type": "string"
},
"Content-Length": {
"type": "string"
}
}
},
"body": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"message": {
"type": "string"
},
"error_code": {
"type": "integer"
},
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"contractor_code": {
"type": "string"
},
"contractor_name": {
"type": "string"
},
"plate_number": {
"type": "string"
},
"brand": {
"type": "string"
},
"model": {
"type": "string"
},
"vehicle_status": {
"type": "string"
},
"sign_off_date": {
"type": "string"
},
"status_code": {
"type": "integer"
},
"employees": {
"type": "array"
}
},
"required": [
"contractor_code",
"contractor_name",
"plate_number",
"brand",
"model",
"vehicle_status",
"sign_off_date",
"status_code",
"employees"
]
}
}
}
}
}
}
I do not know what is happening...
I put your JSON in a ParseJSON step and then created a CSV table successfully. However, I had to first correct the JSON as below. It was missing the last ]. Not sure if that was a typo when you posted it here, or if that will help you troubleshoot.
...
I checked the outputs, HTTP GET and PareseJSON and I had values.
This is example of ParseJSON Outputs:
{"body":{"ok":true,"message":"","error_code":0,"response":[{"contractor_code":"11-22222222-3","contractor_name":"NAME CONTRACTOR","plate_number":"XXX111","brand":"FORD","model":"WJ-RANGER2 DC4X4 XL SAFETY 2.2","vehicle_status":"1","sign_off_date":"20200120","status_code":2,"employees":[]}
WarrenBelz
146,745
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
66,091
Most Valuable Professional