有没有办法逃脱路径Json1 Sqlite中的点

时间:2017-11-27 14:41:03

标签: sqlite sqlite-json1

似乎如果我有密钥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 个答案:

答案 0 :(得分:0)

对于查找,可以将包含点的密钥名称括在双引号中。但是,如果您的键名包含双引号,那么我认为您很不走运,除非您将源代码修改为JSON1扩展名。

似乎没有记录用双引号引起来的转义,但是您可以在函数jsonLookupStep中从the source code to the JSON1 extension看到它的工作方式。

示例:

SELECT json_extract(json_data, '$."Issuer.LongCompanyName"')
FROM instruments_table