Есть ли способ избежать точки в пути 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