JSON Patch (jsonpatch.com)
from lysdexic@programming.dev to programming@programming.dev on 30 Jul 2024 04:52
https://programming.dev/post/17503371

#programming

threaded - newest

Deebster@programming.dev on 30 Jul 2024 10:24 next collapse

If you need to refer to a key with ~ or / in its name, you must escape the characters with ~0 and ~1 respectively. For example, to get “baz” from { “foo/bar~”: “baz” } you’d use the pointer /foo~1bar~0.

I guess they’re using ~ for escaping since backslash is already escaping text content, not that you’d see it very often in keys.

Having magic values instead of using ~~ and ~/ feels ugly.

homo_ignotus@programming.dev on 30 Jul 2024 12:36 collapse

Why use JSON Pointer? We already have structured data (JSON), so what’s wrong with [“biscuits”, 0, “name”] instead of “biscuits/0/name”? This sidesteps the escaping problem.

And the reason is clearly not brevity, given the rest of the spec.