我刚接触PSQL(请在此处发布),所以请耐心等待。
我正在尝试获取JSON数组:
[{
"id": 10259,
"cuisine": "greek",
"ingredients": [
"romaine lettuce", "black olives",
"grape tomatoes",
"garlic",
"pepper",
"purple onion",
"seasoning",
"garbanzo beans",
"feta cheese crumbles"
]}, ....
变成这样:
id | Cuisine | Ingredients |....
----------------------------
| | |....
在这些列中填充以上各项的位置。 我进行了一些搜索,this最接近我希望达到的目标。我的问题是:
我编写了一个Python脚本,并提供了更多教程帮助,以将JSON数据所在的数据库连接到PSQL数据库,但是显然未安装正确的模块(我没有构建PSQL数据库)。所以,我在这里。
非常感谢任何建议或技巧。
谢谢。
2/21/19编辑
我不知道是否允许这样做,但我进行了更多研究(谢谢u / Vaibhav Kaushal)
对于那些遇到与我相同的问题的人:
CREATE TABLE ctest0 (id integer not null primary key, cuisine text, ingredients text);
insert into ctest0 (id, cuisine, ingredients) select * from json_populate_recordset(null::ctest0,'[{
"id": 10259,
"cuisine": "greek",
"ingredients": [
"romaine lettuce",
"black olives",
"grape tomatoes",
"garlic",
"pepper",
"purple onion",
"seasoning",
"garbanzo beans",
"feta cheese crumbles"
]}]');
如果您执行select * from ctest0
,则可以看到表的内容。
结果:
` id | cuisine | ingredients
-------+---------+------------------------------
10259 | greek | [ +
| | "romaine lettuce", +
| | "black olives", +
| | "grape tomatoes", +
| | "garlic", +
| | "pepper", +
| | "purple onion", +
| | "seasoning", +
| | "garbanzo beans", +
| | "feta cheese crumbles"+
| | ]`
从我的研究中,我了解到您还可以执行json_to_recordset(如果您有像我这样的数组,则可以执行json_to_recordset),可以动态创建表格(?)
重要的是要注意:
以下是一些我认为有用的链接:
https://www.postgresql.org/docs/9.5/functions-json.html
How to get a json object as column in postgresql?
How do I define a record type for JSON in postgres
What data type to choose json or jsonb or text
如果我找到更多,我会更新。