less than 1 minute read

Hi, today I came across JSON parser error in Microsoft Flow. I used auto-generated schema and everything had been working just fine until a connector I used had started to return null values for strings.

The fix is quite easy. You just need to manually modify a type of property in the schema. By default you get type String but it is not nullable type.

Fortunatelly JSON Parser in Microsoft Flow can handle multiple types in the schema:

    {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "Description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }

So you just need to change

    "type": "string"

to

    "type": ["string", "null"]

Comments

Rostyslav

{ “type”: “object”, “properties”: { “Fields”: { “type”: “array”, “items”: { “type”: “object”, “properties”: { “FieldLabel”: { “type”: [ “string”, “integer” ] }, “Item”: { “type”: “string” }, “ItemElementName”: { “type”: “string” } } } }, “Links”: { “type”: “array”, “items”: { “type”: “object”, “properties”: { “rel”: { “type”: “string” }, “href”: { “type”: “string” } }, “required”: [ “rel”, “href” ] } }, “Id”: { “type”: “integer” }, “Title”: { “type”: “string” } } }

Doesn’t work form me,

Error Action ‘Parse_JSON_from_File’ failed

Any other ideas?

Rostyslav

Okay, so I did make it work, but if you use more than one type, the ITEM doesn’t appear in dynamic content.

Paul Bartram

I had a different issue

Make sure your array has more than 1 object in it, else it fails with the same error because an array is only an array if it has more than 1 object.

This had me stumpped for a couple of hours

Cage

Does this work in Dynamic schema? as soon as I change the type from only “object” to “type”: [ “object”, “null” ], I get the error: The response from API with status code ‘200’ does not contain a valid OpenAPI schema object.

Ben Tatham

Thank you this worked for me where I was parsing users and one user had no department value which was causing the flow to fail. Updating the schema in this way solved the issue.

To submit comments, go to GitHub Discussions.