我有一个这样的餐桌员工
name value
'e1' 'rahul'
'e2' 'priya'
'e3' 'abhijit'
Run Code Online (Sandbox Code Playgroud)
我需要从两列中提取json,结果是这样的
{'e1':'rahul','e2':'priya','e3':'abhijit'}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下查询,结果如下
select row_to_json((name,value)) from employee
O/P
{'f1':'e1','f2':'rahul'}
{'f2':'e1','f2':'priya'}
{'f3':'e1','f2':'abhijit'}
Run Code Online (Sandbox Code Playgroud)
我不想要那里的 f1 和 f2 名称,请指教!
SELECT ROW_TO_JSON(a) FROM (SELECT name, value FROM employee) a;
Run Code Online (Sandbox Code Playgroud)
感谢您的输入,但我刚刚发现我必须将 postgresql 从 9.3 升级到 9.4才能获得函数json_build_object 。它通过对查询结构进行一些更改来完成工作。
select json_agg(json_build_object(name,value)) from employee;
[{'e1':'rahul','e2':'priya','e3':'abhijit'}]
Run Code Online (Sandbox Code Playgroud)