Diciamo che ho un JSON che assomiglia a questo:Come posso verificare se esiste una chiave JSON in Postgres?
some_json = {'key_a': {'nested_key': 'a'},
'key_b': {'nested_key': 'b'}}
noti che key_a
e key_b
sono tasti opzionali mappati ai dizionari e può o non può esistere.
Ho una funzione che controlla se esiste una chiave esterna in some_json
e restituisce un valore booleano.
CREATE FUNCTION key_exists(some_json json, outer_key text)
RETURNS boolean AS $$
BEGIN
RETURN (some_json->outer_key IS NULL);
END;
$$ LANGUAGE plpgsql;
ottengo il seguente errore:
ProgrammingError: operator does not exist: json -> boolean
Perché outer_key
pari ad un valore booleano? Qual è la sintassi corretta per eseguire questo controllo?
Json è il tipo – Teboto