cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
GABRIELV221
Helper I
Helper I

Parse JSON - Null Error (JSON to CSV)

Hello everyone!

 

I need your help!

I'm working with an API and use HTTP-GET and then Parse JSON to create CSV.

 

001.png

 

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'."

 

002.png

 

This is my schema:

 

{
    "type""object",
    "properties": {
        "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"
                        ]
                    }
                }
            }
        }
    }
}
11 REPLIES 11
Gopala_Krishna
Solution Sage
Solution Sage

@GABRIELV221 

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. 

Hi @Gopala_Krishna 

 

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":[]}

 

GABRIELV221
Helper I
Helper I

...

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.

mahoneypat_0-1630626381304.png

 

 

{
    "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": []
            }
        ]
    }
}
 
Pat




Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


GABRIELV221
Helper I
Helper I

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.

Error01.png

Error:

The 'from' property value in the 'table' action inputs is of type 'Null'. The value must be of type 'Array'.

 

Edit mode:

Edit.png

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

 





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about the Power Platform, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI 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:
0023.png

GABRIELV221
Helper I
Helper I

...

VJR
Super User
Super User

Hi @GABRIELV221 

 

Since it is expecting a variable of type array, see if creating an empty array variable would help.

Also refer this link.

 

 

 

smeadows
New Member

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:

{
    "inputs": {
        "content""@outputs('Get_file_content_using_path_2')?['body']",
        "schema": {
            "type""object",
            "properties": {
                "body": {
                    "type""object",
                    "properties": {
                        "PortfolioTrades": {
                            "type""array",
                            "items": {
                                "type""object",
                                "properties": {
                                    "FundParentID": {
                                        "type""string"
                                    },...

 

=============

 

============= Code Snippet ==========

"Create CSV table" code:  (AUTOMATICALLY GENERATED BY THE GUI = THIS IS THE INCORRECT SYNTAX)

 
{
    "inputs": {
        "from""@body('Parse_JSON')?['body']?['PortfolioTrades']",
        "format""CSV"
    }
}

=============

 

============= Code Snippet ==========

"CORRECTED Create CSV table" code:  (Manually created using Expression = This syntax worked for me.)

 
{
    "inputs": {
        "from""@body('Parse_JSON')['PortfolioTrades']",
        "format""CSV"
    }
}

=============

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"
                            }
                        },

 

 

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Users online (2,402)