我在postgres数据库中有这个JSON(B)列。我在本专栏中列出了从API获得的所有数据。现在我需要从这个数组中提取一些键/值对。对于JSON数组,如:
[{"myKey1": "school type", "myKey2": "primary"}, {"myKey1": "study coverage", "myKey2": "secondary"}]
我需要提取:
myKey1: school type myKey2: primary
myKey1: study coverage myKey22: secondary
由于我是JSON的新手,对我来说,似乎我首先需要将数组分解为对象(用大括号括起来),而且还有一些postgres函数用于对象(在以下链接中给出https://www.postgresql.org/docs/9.4/static/functions-json.html )我可以用来提取所需的键/值对。
我的数据库表是:
CREATE TABLE "Education" (
"id" SERIAL NOT NULL,
"json_text" JSONB NOT NULL,
);
我使用以下查询来实现此目的:
SELECT tmp_col->>'myKey1'
FROM (
SELECT json_text->> 0 AS temp_col
FROM education
) AS temp_table
运行此查询时出现以下错误。
缺少什么的线索?
还有更好的方法来获取有需要的信息。我正在使用Java语言来显示信息。
感谢。