4.6. test (Test)
4.6. test (Test)
Die "test"-Operation testet, ob ein Wert an der Zielstelle gleich einem angegebenen Wert ist.
Das Operationsobjekt MUSS (MUST) ein "value"-Mitglied enthalten, das den Wert übermittelt, der mit dem Wert der Zielstelle verglichen werden soll.
Die Zielstelle MUSS (MUST) gleich dem "value"-Wert sein, damit die Operation als erfolgreich angesehen wird.
Hier bedeutet "gleich" (equal), dass der Wert an der Zielstelle und der von "value" übermittelte Wert vom gleichen JSON-Typ sind und nach den folgenden Regeln für diesen Typ als gleich angesehen werden:
-
strings (Zeichenketten): werden als gleich angesehen, wenn sie die gleiche Anzahl von Unicode-Zeichen enthalten und ihre Codepunkte byteweise gleich sind.
-
numbers (Zahlen): werden als gleich angesehen, wenn ihre Werte numerisch gleich sind.
-
arrays (Arrays): werden als gleich angesehen, wenn sie die gleiche Anzahl von Werten enthalten und jeder Wert als gleich mit dem Wert an der entsprechenden Position im anderen Array angesehen werden kann, unter Verwendung dieser Liste typspezifischer Regeln.
-
objects (Objekte): werden als gleich angesehen, wenn sie die gleiche Anzahl von Mitgliedern enthalten und jedes Mitglied als gleich mit einem Mitglied im anderen Objekt angesehen werden kann, indem ihre Schlüssel (als Zeichenketten) und ihre Werte (unter Verwendung dieser Liste typspezifischer Regeln) verglichen werden.
-
literals (Literale) (false, true, und null): werden als gleich angesehen, wenn sie identisch sind.
Beachten Sie, dass der durchgeführte Vergleich ein logischer Vergleich ist; z.B. ist Leerzeichen zwischen den Mitgliedswerten eines Arrays nicht signifikant. Beachten Sie auch, dass die Reihenfolge der Serialisierung von Objektmitgliedern nicht signifikant ist.
Zum Beispiel:
{ "op": "test", "path": "/a/b/c", "value": "foo" }