问题描述
如何将XML sql编码转换为JSON sql编码。 示例:
SELECT XMLELEMENT(NAME "ORDER",XMLFOREST(PURCHASE_ORDER AS OD_NO)) AS "XMLELEMENT" FROM
TBL_SALES
现在如何将XMLELEMENT
和XMLFOREST
转换为JSON
函数。请帮我。我们在XMLELEMENT
函数中是否有等效的XMLFOREST
/ JSON
。
xml:
<order><OD_NO>4524286167</OD_NO><order_date>2020-06-15</order_date><sales_office>CH</sales_office></order>
json:
{ "OD_NO": "4524286167","order_date": "2020-06-15","sales_office": "CH" }
解决方法
row_to_json
会做这件事。
您可以按照以下方式编写查询:
select row_to_json(x) from
(select purchase_order "OD_NO",order_date,sales_office from tbl_sales ) x
如果您想将所有结果汇总到一个JSON数组中,请使用JSON_AGG
和row_to_json
:
select json_agg(row_to_json(x)) from
(select purchase_order "OD_NO",sales_office from tbl_sales ) x
,
这些Postgresql functions json_build_object(VARIADIC "any")
和jsonb_build_object(VARIADIC "any")
在语义上接近XMLELEMENT,并且对于“ embroidering ”来说非常方便,无论您需要什么复杂的JSON。您的查询可能如下所示:
select json_build_object
(
'OD_NO',order_number,-- or whatever the name of the column is
'order_date','sales_office',sales_office
) as json_order
from tbl_sales;
但是我不认为有XMLFOREST等效项。