在數(shù)據(jù)庫中存儲JSON數(shù)據(jù)已經(jīng)成為了一種趨勢。而在使用數(shù)據(jù)庫中存儲JSON數(shù)據(jù)時,我們需要有一種特殊的語法來表示JSON數(shù)據(jù),這就是JSONPath。
{ "name": "張三", "age": 18, "address": { "province": "北京", "city": "北京市", "district": "海淀區(qū)", "street": "清華東路" } }
在這個JSON中,我們可以通過以下方式使用JSONPath:
$.name # 獲取name值 $.address.province # 獲取地址中省份的值
在數(shù)據(jù)庫中,我們會使用JSONB類型存儲JSON數(shù)據(jù)。在PostgreSQL中,我們可以使用以下語法來創(chuàng)建JSONB類型的列:
CREATE TABLE users ( id serial PRIMARY KEY, username varchar(50) UNIQUE NOT NULL, data jsonb );
在MySQL中,則需要使用JSON類型來存儲JSON數(shù)據(jù)。創(chuàng)建JSON列的語法如下:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, data JSON );
在使用JSON類型存儲JSON數(shù)據(jù)時,我們可以使用以下語法向其中插入數(shù)據(jù):
INSERT INTO users(username, data) VALUES( '張三', '{"name": "張三", "age": 18, "address": {"province": "北京", "city": "北京市", "district": "海淀區(qū)", "street": "清華東路"}}' );
通過這樣的方式,在數(shù)據(jù)庫中就可以存儲JSON數(shù)據(jù)了。
下一篇ddt 傳入json