某些 OQL 破坏了我的 JSON 结构
certain OQL is breaking my JSON structure
我正在使用的 API (iTop) 允许 get 请求具有 JSON 正文,以及 JSON 中的 OQL 语句,格式为:
json_data= {
...,
"key": "SELECT Animal",
...
}
我一直在使用%
,iTop的OQL中的通配符,像这样:
json_data= {
...,
"key": "SELECT Animal WHERE name LIKE '%ant%'",
...
}
(这将 return 动物,例如 "ant"、"manta ray" 和 "anteater")
当我在 %
符号后面有一个重复字符时出现问题:
json_data= {
...,
"key": "SELECT Animal WHERE name LIKE '%aardvark%'",
...
}
API 响应:
Error: Parameter json_data is not a valid JSON structure
我注意到其他字符有这种行为,但不是所有字符(%bb、%cc 等破坏了结构,但 %hh 和 %zz 没有)。
这是 API 解析 JSON 的方式的问题,还是我做错了什么? %aa
是一个可能的转义字符,还是某种类型的正则表达式语法?我在API documentation.
中没有找到任何相关信息
with help from the sourceforge forums,解决方法是把'%'换成unicode %('\u0025').
SELECT Animal WHERE name LIKE '\u0025aardvark\u0025'
这可能是 iTop 中的错误...
我正在使用的 API (iTop) 允许 get 请求具有 JSON 正文,以及 JSON 中的 OQL 语句,格式为:
json_data= {
...,
"key": "SELECT Animal",
...
}
我一直在使用%
,iTop的OQL中的通配符,像这样:
json_data= {
...,
"key": "SELECT Animal WHERE name LIKE '%ant%'",
...
}
(这将 return 动物,例如 "ant"、"manta ray" 和 "anteater")
当我在 %
符号后面有一个重复字符时出现问题:
json_data= {
...,
"key": "SELECT Animal WHERE name LIKE '%aardvark%'",
...
}
API 响应:
Error: Parameter json_data is not a valid JSON structure
我注意到其他字符有这种行为,但不是所有字符(%bb、%cc 等破坏了结构,但 %hh 和 %zz 没有)。
这是 API 解析 JSON 的方式的问题,还是我做错了什么? %aa
是一个可能的转义字符,还是某种类型的正则表达式语法?我在API documentation.
with help from the sourceforge forums,解决方法是把'%'换成unicode %('\u0025').
SELECT Animal WHERE name LIKE '\u0025aardvark\u0025'
这可能是 iTop 中的错误...