某些OQL破坏了我的JSON结构

时间:2016-02-17 15:00:04

标签: sql json regex api cmdb

我正在使用的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中找不到任何相关信息。

1 个答案:

答案 0 :(得分:0)

with help from the sourceforge forums,解决方案是用unicode%('\ u0025')替换'%'。

SELECT Animal WHERE name LIKE '\u0025aardvark\u0025'

这可能是iTop中的一个错误......