如何使用PostgreSQL将JSON数据插入到我的表中?

3
我有一个包含2列的客户表。
CREATE TABLE clients
(
    client_id    serial primary key,
    name        VARCHAR(40) not null
)

i have a json data like

[{client_id:"1",name:"Rick"},{client_id:"2",name:"Carlin"}]

现在我需要使用这个JSON解析并插入到我的客户表中。如何使用JSP ServletsPostgres数据库进行操作。


你看过这篇文章吗:http://yetanotherdataminer.blogspot.co.uk/2013/04/how-to-get-json-data-type-into.html?它详细介绍了如何将JSON数据加载到每行单个字符串中,然后进行转换。 - mc110
另外,您使用的是哪个版本的Postgres?因为9.2版增加了对DB内JSON的支持,而9.3版增加了处理JSON数据的额外功能。 - mc110
你尝试过什么,卡在哪里了? - Serge Ballesta
@mc110:我正在使用不支持此功能的Postgres 9.1.2版本。 - Dinesh Ravi
@SergeBallesta:将编码转换为json是在toJson()函数中进行的,servlet通过doGet()函数调用该函数。 - Dinesh Ravi
显示剩余2条评论
1个回答

6
如果你想在PostgreSQL(9.3+)端完成此操作,可以使用json_populate_recordset函数:
insert into clients
select *
from json_populate_recordset(
  null::clients,
  '[{client_id:"1",name:"Rick"},{client_id:"2",name:"Carlin"}]'
)

虽然在序列列中手动插入值通常不是一个好主意,但有时需要这样做


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接