json-patch/json-patch2

'-' in remove and replace targets

Opened this issue · 0 comments

mnot commented

The definitions of remove and replace both state:

The target location MUST exist for the operation to be successful.

In JSON Pointer, 'the single character "-", mak[es] the new referenced value the (nonexistent) member after the last array element.'

Thus, both remove and replace can't use a path with -. However, anecdotally some implementations are using - to indicate roughly "the last element of the array" and allowing them in remove and replace.

Unfortunately, the tests don't cover this case, so it's not clear how implementations behave.