我正在使用的API(iTop)允许get请求具有JSON主体,以及JSON中的OQL语句格式:
json_data= {
...,
"key": "SELECT Animal",
...
}
我一直在使用iTop的OQL中的通配符%
,如下所示:
json_data= {
...,
"key": "SELECT Animal WHERE name LIKE '%ant%'",
...
}
(会返回动物,如“蚂蚁”,“蝠”和“食蚁兽”)
当我在%
符号后面有重复的字符时会出现问题:
json_data= {
...,
"key": "SELECT Animal WHERE name LIKE '%aardvark%'",
...
}
API回复:
错误:参数json_data不是有效的JSON结构
我注意到这种行为与其他角色有关,但不是全部(%bb,%cc等打破了结构,但%hh和%zz没有)。
这是API解析JSON的方式有问题,还是我做错了什么? %aa
是一个可能的转义字符,还是某种类型的正则表达式语法?我在API documentation中找不到任何相关信息。
答案 0 :(得分:0)
with help from the sourceforge forums,解决方案是用unicode%('\ u0025')替换'%'。
SELECT Animal WHERE name LIKE '\u0025aardvark\u0025'
这可能是iTop中的一个错误......