2015-11-13 104 views
1

如何插入數組[[a,b,c]]到測試中?插入json數組到postgres json []

create table test(f json []); 

我試圖

insert into test (f) values('{\"a\",\"b\",\"c\"}'); 

但後來當我選擇它的逃逸反斜槓顯示。 不逃脫它根本不起作用。 (標誌 「a」 是無效的)

select * from test; 

f 
---- 
{"\"a\"","\"b\"","\"c\""} 

回答

3

我想你只是想插入一個JSON陣列(json),而不是JSON數組(json[]):

create table test (f json); 
insert into test (f) values(to_json(array['a','b','c'])); 
select * from test; 
     f  
--------------- 
["a","b","c"] 

如果你想一串json:

create table test (f json[]); 
insert into test (f) values 
    (array[to_json('a'::text),to_json('b'::text),to_json('c'::text)]); 
select * from test; 
      f    
--------------------------- 
{"\"a\"","\"b\"","\"c\""}