【发布时间】:2015-03-07 23:35:41
【问题描述】:
假设我有一个如下所示的 json:
some_json = {'key_a': {'nested_key': 'a'},
'key_b': {'nested_key': 'b'}}
请注意,key_a 和 key_b 是映射到字典的可选键,可能存在也可能不存在。
我有一个函数可以检查some_json 中是否存在外键并返回一个布尔值。
CREATE FUNCTION key_exists(some_json json, outer_key text)
RETURNS boolean AS $$
BEGIN
RETURN (some_json->outer_key IS NULL);
END;
$$ LANGUAGE plpgsql;
我收到以下错误:
ProgrammingError: operator does not exist: json -> boolean
为什么outer_key 等于布尔值?执行此检查的正确语法是什么?
【问题讨论】:
标签: json postgresql psycopg2