如何转义 Socrata SODA 2 API 调用中的符号?
How do I escape an ampersand in a Socrata SODA 2 API call?
我正在与 NYC crime dataset 打交道,我注意到 offense
凶杀案的类型是 MURDER & NON-NEGL. MANSLAUGHTE
。 (是的,那是没有“r”的“误杀”。)但是,当我尝试使用 SODA API 对此进行过滤时,出现错误:
https://data.cityofnewyork.us/resource/hyij-8hr7.json?$where=offense='MURDER & NON-NEGL. MANSLAUGHTE'
{
"error" : true,
"message" : "Unrecognized arguments [ NON-NEGL. MANSLAUGHTE']"
}
在我看来,字符串中的&符号正在转义。
请注意,我尝试使用 like=‘MURDER’
命令来避免输入符号,例如查询 https://data.cityofnewyork.us/resource/hyij-8hr7.json?$where=offense like 'MURDER'
,但这给了我错误
{
"error" : true,
"message" : "Error: function #LIKE is not defined in SoQL.: Error: function #LIKE is not defined in SoQL.”
}
这一定意味着 NYC 数据集正在使用 SoQL。 v. 2.0 而不是 2.1.
总之,如何查询凶杀案?有没有办法 (a) 正确转义 & 符号,或 (b) 搜索子字符串?
感谢您对这些请求的任何帮助。
你是对的,hyij-8hr7
是该数据集的 SODA 2.0 端点。但是,还存在一个 2.1 端点:https://dev.socrata.com/foundry/data.cityofnewyork.us/e4qk-cpnv
使用 2.1 端点,您可以将 & 号转义为 URL 编码的 %26
:$where=offense='MURDER %26 NON-NEGL. MANSLAUGHTE'
。完全 URL,完全转义:
GET https://data.cityofnewyork.us/resource/e4qk-cpnv.json?$where=offense%3D%27MURDER%20%26%20NON-NEGL.%20MANSLAUGHTE%27
使用 2.1 端点,您还可以 LIKE
to do SQL-style substring searches or $q
使用全文搜索索引。
我正在与 NYC crime dataset 打交道,我注意到 offense
凶杀案的类型是 MURDER & NON-NEGL. MANSLAUGHTE
。 (是的,那是没有“r”的“误杀”。)但是,当我尝试使用 SODA API 对此进行过滤时,出现错误:
https://data.cityofnewyork.us/resource/hyij-8hr7.json?$where=offense='MURDER & NON-NEGL. MANSLAUGHTE'
{ "error" : true, "message" : "Unrecognized arguments [ NON-NEGL. MANSLAUGHTE']" }
在我看来,字符串中的&符号正在转义。
请注意,我尝试使用 like=‘MURDER’
命令来避免输入符号,例如查询 https://data.cityofnewyork.us/resource/hyij-8hr7.json?$where=offense like 'MURDER'
,但这给了我错误
{ "error" : true, "message" : "Error: function #LIKE is not defined in SoQL.: Error: function #LIKE is not defined in SoQL.” }
这一定意味着 NYC 数据集正在使用 SoQL。 v. 2.0 而不是 2.1.
总之,如何查询凶杀案?有没有办法 (a) 正确转义 & 符号,或 (b) 搜索子字符串?
感谢您对这些请求的任何帮助。
你是对的,hyij-8hr7
是该数据集的 SODA 2.0 端点。但是,还存在一个 2.1 端点:https://dev.socrata.com/foundry/data.cityofnewyork.us/e4qk-cpnv
使用 2.1 端点,您可以将 & 号转义为 URL 编码的 %26
:$where=offense='MURDER %26 NON-NEGL. MANSLAUGHTE'
。完全 URL,完全转义:
GET https://data.cityofnewyork.us/resource/e4qk-cpnv.json?$where=offense%3D%27MURDER%20%26%20NON-NEGL.%20MANSLAUGHTE%27
使用 2.1 端点,您还可以 LIKE
to do SQL-style substring searches or $q
使用全文搜索索引。