Есть ли способ избежать точки в пути Json1 Sqlite

Кажется, если у меня есть ключ test1.test2 нет возможности избежать этой точки, чтобы использовать этот ключ как есть.

Выражение:

sqlite> update collections set json_nodes = (select json_set(json(collections.js
on_nodes), '$.test.test1', json('123')) from collections);

приведет к

{"test":{"test1":123}}

1 ответ

Для поиска вы можете заключить имя ключа, которое содержит точку в двойные кавычки. Однако, если имя вашего ключа содержит двойные кавычки, я думаю, что вам не повезло, если вы не измените исходный код на расширение JSON1.

Экранирование двойными кавычками, похоже, не документировано, но вы можете увидеть, как оно работает, от исходного кода до расширения JSON1, в функции jsonLookupStep,

Пример:

SELECT json_extract(json_data, '$."Issuer.LongCompanyName"')
FROM instruments_table
Другие вопросы по тегам