Hi Martin,
I found even more weird situation
parse-json('{"1:aa": 1, "2:bb": 2}')
returns
{"2:bb":2.0e0,"1:aa":1.0e0}
Seems like order is inversed
But,
parse-json('{"aa": 1, "b": 2, "ab": 3}')
returns
{"aa":1.0e0,"ab":3.0e0,"b":2.0e0}
and, finally
parse-json('{"aa": 1, "b": 2, "ab": 3, "1:aa": 1, "2:bb": 2}')
returns
{"aa":1.0e0,"ab":3.0e0,"b":2.0e0,"2:bb":2.0e0,"1:aa":1.0e0}
🤯
It seems like a bug to me ;)
If we are talking about the JSON standard, not xQuery, devs will expect the function which behaves in the same way as it does in many other languages.