1

似乎如果我有钥匙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}}
4

1 回答 1

0

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

双引号转义似乎没有文档记录,但您可以在函数中看到它从源代码到 JSON1 扩展的工作方式jsonLookupStep

例子:

SELECT json_extract(json_data, '$."Issuer.LongCompanyName"')
FROM instruments_table
于 2018-07-31T16:19:00.023 回答