mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 15:18:01 +00:00
Add Extracting Nested JSON Data as a postgres til.
This commit is contained in:
26
postgres/extracting-nested-json-data.md
Normal file
26
postgres/extracting-nested-json-data.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Extracting Nested JSON Data
|
||||
|
||||
If you are storing nested JSON data in a postgres JSON column, you are
|
||||
likely going to find yourself in a situation where you need to access some
|
||||
of those nested values in your database code. For instance, you may need to
|
||||
get at the license number in this JSON column
|
||||
|
||||
```sql
|
||||
owner
|
||||
------------------------------------------------------------------------------
|
||||
{ "name": "Jason Borne", "license": { "number": "T1234F5G6", "state": "MA" } }
|
||||
```
|
||||
|
||||
Unfortunately, the `->` operator isn't going to do the trick. You need the
|
||||
`json_extract_path` function
|
||||
|
||||
```sql
|
||||
> select json_extract_path(owner, 'license', 'number') from some_table;
|
||||
|
||||
json_extract_path
|
||||
-------------------
|
||||
T1234F5G6
|
||||
```
|
||||
|
||||
Read more about [JSON Functions and
|
||||
Operators](http://www.postgresql.org/docs/9.4/static/functions-json.html).
|
||||
Reference in New Issue
Block a user