似乎如果我有钥匙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}}
似乎如果我有钥匙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}}
对于查找,您可以将包含点的键名括在双引号中。但是,如果您的密钥名称包含双引号,我认为您不走运,除非您将源代码修改为 JSON1 扩展。
双引号转义似乎没有文档记录,但您可以在函数中看到它从源代码到 JSON1 扩展的工作方式jsonLookupStep
。
例子:
SELECT json_extract(json_data, '$."Issuer.LongCompanyName"')
FROM instruments_table