JSON_COUNT_MATCHES

Use the JSON_COUNT_MATCHES script function to return the number of matches of a JSONPath expression in a JSON document.

Syntax

JSON_COUNT_MATCHES (JSON, JSONPath)

Parameters

Runtime errors

JSON_COUNT_MATCHES will fail with a runtime error on the following conditions:

Examples:

The following example uses the script function to find the number of books in your JSON shopping basket:

:SET &JSON# = '[{"item":"book", "price": 12.99, "title": "Learn Cobol in 24 hrs"},{"item":"CD", "price": 6.99, "title": "Coder Muzak"}, {"item":"book", "price": 7.99, "title": "Coder Muzak"}, {"item":"book", "price": 7.99, "title": "Java is also an island"}]'
:SET &BOOKCOUNT# = JSON_COUNT_MATCHES(&JSON#,'$..[?(@.item=="book")]')
:P 'You have &BOOKCOUNT# books in your basket'

Activation report result

U00020408 You have 0000000000000002 books in your basket

This example uses the script function to check whether your server returned an error when validating a form via REST API:

:SET &JSON# = '[ ]'
! Uncomment the following line to simulate the error case

:
SET &JSON# = '[{"error": "isRequired", "field": "username"},{"error": "outOfRange", "field": "age"}]'
:SET &ERRORCOUNT# = JSON_COUNT_MATCHES(&JSON#,'$..error')
:IF &ERRORCOUNT# <> 0
:P 'You have &ERRORCOUNT# mistakes in your form'
:ELSE IF
:P 'Validation successful'

:ENDIF

Activation report result

U00020408 You have 0000000000000002 mistakes in your form

See also: