I'm sorry, but I'm not sure, what behavior is expected in this case?
Right now the following logic was implemented:
"we trying to set an element inside an array, but we've got a non-integer path item
("nonsense" in this particular case), so we're going to add a new element at the end of array by default"
If it's wrong, should we refuse to perform such kind of operations, or should we replace
"vehicle_type": ["car", "van"]
to
"vehicle_type: {"nonsense": "motorcycle"}
?
(please bottom-post)
I would expect some kind of error. We're trying to address a position in an array, and we're instead passing a key. If it completes successfully, the chances are it isn't what the user intended.