如何将json数组传递给postgresql函数
我有一个包含json数组的json对象 i、 e: 我想把它插入三个不同的表中,分别是用户、学校和年份如何将json数组传递给postgresql函数,postgresql,postgresql-9.3,Postgresql,Postgresql 9.3,我有一个包含json数组的json对象 i、 e: 我想把它插入三个不同的表中,分别是用户、学校和年份 有人能帮忙吗?假设我理解正确,您希望分割提供的JSON对象并将其子对象写入一些表中 PostgreSQL有几个JSON操作符可能会有所帮助 首先,您应该将JSON的文本表示形式转换为typeJSON。这允许您使用JSON运算符和函数,例如->(获取JSON对象字段): 或者,例如,#>(在指定路径获取JSON对象): 现在只需将操作员应用程序的结果插入您选择的表中: insert into u
有人能帮忙吗?假设我理解正确,您希望分割提供的JSON对象并将其子对象写入一些表中 PostgreSQL有几个JSON操作符可能会有所帮助 首先,您应该将JSON的文本表示形式转换为type
JSON
。这允许您使用JSON运算符和函数,例如->
(获取JSON对象字段):
或者,例如,#>
(在指定路径获取JSON对象):
现在只需将操作员应用程序的结果插入您选择的表中:
insert into user select 'YOUR_JSON'::json -> 'Name';
如果只想提取School数组,仍然可以使用->
运算符:
select 'YOUR_JSON'::json -> 'School';
?column?
-----------------------------
[ +
{ +
"Name":"ABC", +
"Address":"Nagpur"+
}, +
{ +
"Name":"CDF" +
}, +
{ +
"Name":"GHI", +
"Year":{ +
"From":"2015", +
"To":"2016" +
} +
} +
]
(1 row)
阅读更多信息。谢谢,我觉得这会对我有更好的帮助。谢谢,我的问题现在解决了。我必须在其中增加一些功能。但它现在正在发挥作用。
select 'YOUR_JSON'::json #> '{"School", 2, "Year"}';
?column?
----------------------------
{ +
"From":"2015",+
"To":"2016" +
}
(1 row)
insert into user select 'YOUR_JSON'::json -> 'Name';
select 'YOUR_JSON'::json -> 'School';
?column?
-----------------------------
[ +
{ +
"Name":"ABC", +
"Address":"Nagpur"+
}, +
{ +
"Name":"CDF" +
}, +
{ +
"Name":"GHI", +
"Year":{ +
"From":"2015", +
"To":"2016" +
} +
} +
]
(1 row)