Seems like a good starting point, but it's a bit too simplistic for my taste.
"Add" seems like it's not idempotent as the existing value seems to change what it does.
Seems like a mistake to bundle array operations into "add" and "remove".
Array indexing is going to be useless for most applications because it makes assumptions about what's already there, and there is no way to specify fine-grained preconditions (or relativity such as "insert before the element 'b'").
No support for "increment", "decrement" or similar operations you'd want to make atomic.
No support for sets.
Unlike azinman2, I think paths as strings is fine. But why not support both? Let a path be either a string or an array.
"Add" seems like it's not idempotent as the existing value seems to change what it does.
Seems like a mistake to bundle array operations into "add" and "remove".
Array indexing is going to be useless for most applications because it makes assumptions about what's already there, and there is no way to specify fine-grained preconditions (or relativity such as "insert before the element 'b'").
No support for "increment", "decrement" or similar operations you'd want to make atomic.
No support for sets.
Unlike azinman2, I think paths as strings is fine. But why not support both? Let a path be either a string or an array.