Found this suggestion, and it's beautiful, but it works only if you have changed json source too:
```
SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
sqlite> .nullvalue NULL
sqlite> select json_extract('{ "a": 1, "\u0022b.\u0022": 2 }', '$."\u0022b.\u0022"');
2
sqlite> select json_extract('{ "\"b.\"": 1 }', '$."\u0022b.\u0022"');
NULL
```
Right now i've found only option:
```
sqlite> select (select value from json_tree('{ "a": 1, "\"b.": 2 }') j where fullkey='$."\"b."');
2
```
But more awful from my point of view is that JSON functions doesn't parses escapes at all:
```
sqlite> select json('{"\u0062":1,"b":2,"b":3}');
{"\u0062":1,"b":2,"b":3}
sqlite> select json('{"\u0062":1,"b":2,"b":3}')->'b';
2
sqlite> select json('{"\u0062":1,"b":2,"b":3}')->'\u0062';
1
sqlite> select json('{"b":1}')->'\u0062';
NULL
sqlite> select json('{"\u0062":1}')->'b';
NULL
sqlite> select json_remove('{"\u0062":1,"b":2,"b":3}','$.b','$.\u0062','$.b');
{"b":3}
sqlite> select json_remove(json_remove('{"\u0062":1,"b":2,"b":3}','$.b','$.\u0062'),'$.b');
{}
```
However in Postgres:
```
psql (14.8 (Ubuntu 14.8-0ubuntu0.22.04.1), server 14.6)
Type "help" for help.
postgres=# select jsonb('{"\u0062":1,"b":2,"b":3}');
jsonb
----------
{"b": 3}
(1 row)
postgres=# select json('{"\"\u0062.":1}')->'"b.';
?column?
----------
1
(1 row)
postgres=# select json('{"b":1,"b":2,"\u0062":3}');
json
--------------------------
{"b":1,"b":2,"\u0062":3}
(1 row)
postgres=# select json('{"b":1,"b":2,"\u0062":3}')->'b';
?column?
----------
3
(1 row)
saltcorn=# select json('{"\u0062":1,"b":2,"b":3}')->'b';
?column?
----------
3
(1 row)
```