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:
Can you please check your parse JSON action, it seems that the "RESPONSE" item that you have selected in the Create CSV table action is not holding any value due to which you are getting the error.
Try opening any of the previous flow runs and expand the parse json action to see if the RESPONSE property has any values getting stored in or not.
For any table creation action if the input item is null then wouldn't be able to create the table and throws error, which is the same case that happened here.
Review your parse json and http request action and you will find your answer there.
--------------------------------------------------------------------------------------------------------------------------
If the information shared helps you please consider giving a thumbs up 👍 and mark solution as resolved.
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":[]}
...
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.
To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.
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...
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
To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.
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:
...
Hi @GABRIELV221
Since it is expecting a variable of type array, see if creating an empty array variable would help.
Also refer this link.
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.)
=============
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"
}
},
User | Count |
---|---|
26 | |
13 | |
12 | |
9 | |
8 |
User | Count |
---|---|
49 | |
30 | |
23 | |
20 | |
20 |