JSON_COUNT_MATCHES

Verwenden Sie die Script-Funktion JSON_COUNT_MATCHES, um die Anzahl der Übereinstimmungen eines JSONPath-Ausdrucks in einem JSON-Dokument abzurufen.

Syntax

JSON_COUNT_MATCHES (JSON, JSONPath)

Parameter

  • JSON
    Ein String, der ein gültiges JSON-Dokument enthält

  • JSONPath
    Ein gültiger JSONPath-Ausdruck

Laufzeitfehler

JSON_COUNT_MATCHES schlägt mit einem Laufzeitfehler unter den folgenden Bedingungen fehl:

  • 45334
    Wenn Ihr JSON-Dokument ungültig ist
  • 45342
    Syntaxfehler im JSONPath-Ausdruck

Beispiele:

Im folgenden Beispiel wird die Script-Funktion verwendet, um die Anzahl der Bücher in Ihrem JSON-Warenkorb zu ermitteln:

: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 'Sie haben &BOOKCOUNT#-Bücher in Ihrem Warenkorb'

Ergebnis des Aktivierungsreports

U00020408 Sie haben 0000000000000002 Bücher in Ihrem Warenkorb

In diesem Beispiel wird die Script-Funktion verwendet, um zu überprüfen, ob Ihr Server einen Fehler zurückgegeben hat, als ein Formular über die REST-API validiert wurde:

:SET &JSON# = '[ ]'
! Entfernen Sie die Auskommentierung der folgenden Zeile, um den Fehlerfall zu simulieren

:
SET &JSON# = '[{"error": "isRequired", "field": "username"},{"error": "outOfRange", "field": "age"}]'
:SET &ERRORCOUNT# = JSON_COUNT_MATCHES(&JSON#,'$..error')
:IF &ERRORCOUNT# <> 0
:P 'Sie haben &ERRORCOUNT# Fehler in Ihrem Formular'
:ELSE IF
:P 'Validierung erfolgreich'

:ENDIF

Ergebnis des Aktivierungsreports

U00020408 Sie haben 0000000000000002 Fehler in Ihrem Formular

Siehe auch: