Powiedzmy mam json, który wygląda tak:Jak sprawdzić, czy klucz json istnieje w PostgreSQL?
some_json = {'key_a': {'nested_key': 'a'},
'key_b': {'nested_key': 'b'}}
Zauważ, że key_a
i key_b
są opcjonalne klawisze odwzorowane do słowników i może lub nie istnieje.
Mam funkcję, która sprawdza, czy klucz zewnętrzny istnieje w some_json
i zwraca wartość logiczną.
CREATE FUNCTION key_exists(some_json json, outer_key text)
RETURNS boolean AS $$
BEGIN
RETURN (some_json->outer_key IS NULL);
END;
$$ LANGUAGE plpgsql;
pojawia się następujący błąd:
ProgrammingError: operator does not exist: json -> boolean
Dlaczego outer_key
zrównanie się wartości logicznej? Jaka jest prawidłowa składnia, aby wykonać tę kontrolę?
Json to typ – Teboto