尝试使用json_array_elements在postgres数据库中读取这个json OV-fiets(http://fiets.openov.nl/locaties.json)。火车站的某些名称包含角色'
。
示例..... "description": "Helmond 't Hout"
我认为我的剧本失败是因为'赫尔蒙德和t之间。 我使用的脚本:
WITH data AS (SELECT 'paste the json from http://fiets.openov.nl/locaties.json'::json AS fc)
SELECT
row_number() OVER () AS gid,
feat->'locaties' AS locaties,
FROM (
SELECT json_array_elements(fc->'locaties') AS feat
FROM data
) AS f;*
++++++++++++++++++++++++++++++
我得到的错误:
*syntax error at or near "Hout"
LINE 3: ...Images": [], "name": "HMH - OV-fiets - Helmond 't Hout", "ex.*
如何更改脚本以避免由于字符'
导致的语法错误答案 0 :(得分:0)
这里最简单的解决方法可能是美元报价:
SELECT $dq$paste the json from http://fiets.openov.nl/locaties.json$dq$::json
答案 1 :(得分:0)
在SQL中,单引号需要由doubling them转义,例如:
select 'Arthur''s house';
作为替代方案(在Postgres中),您可以使用dollar quoting来避免更改字符串:
SELECT $data$Arthur's house$data$