4.6. test
4.6. test
"test" 操作测试目标位置的值是否等于指定值。
操作对象必须包含一个 "value" 成员, 该成员传达要与目标位置的值进行比较的值。
目标位置必须等于 "value" 值才能认为操作成功。
这里, "相等" 意味着目标位置的值和 "value" 传达的值属于相同的 JSON 类型, 并且根据该类型的以下规则被认为相等:
-
字符串: 如果包含相同数量的 Unicode 字符且其码点逐字节相等, 则被认为相等。
-
数字: 如果它们的值在数值上相等, 则被认为相等。
-
数组: 如果包含相同数量的值, 并且使用此类型特定规则列表, 每个值可以被认为等于另一个数组中相应位置的值, 则被认为相等。
-
对象: 如果包含相同数量的成员, 并且通过比较它们的键 (作为字符串) 和值 (使用此类型特定规则列表), 每个成员可以被认为等于另一个对象中的成员, 则被认为相等。
-
字面量 (false, true 和 null): 如果它们相同, 则被认为相等。
请注意, 进行的比较是逻辑比较; 例如, 数组成员值之间的空白不重要。
另外, 请注意对象成员序列化的顺序不重要。
例如:
{ "op": "test", "path": "/a/b/c", "value": "foo" }