1

我正在使用的 API (iTop) 允许获取请求具有 JSON 主体,以及 JSON 中的 OQL 语句,格式如下:

json_data= { 
             ..., 
             "key": "SELECT Animal", 
             ... 
           }

我一直在使用%iTop 的 OQL 中的通配符,如下所示:

json_data= { 
             ..., 
             "key": "SELECT Animal WHERE name LIKE '%ant%'", 
             ... 
           }

(这将返回诸如“ant”、“manta ray”和“anteater”之类的动物)

当我在%符号后面有一个重复的字符时会出现问题:

json_data= { 
             ..., 
             "key": "SELECT Animal WHERE name LIKE '%aardvark%'", 
             ... 
           }

API 响应:

错误:参数 json_data 不是有效的 JSON 结构

我注意到其他字符的这种行为,但不是全部(%bb、%cc 等破坏了结构,但 %hh 和 %zz 没有)。

这是 API 解析 JSON 的方式的问题,还是我做错了什么?是%aa可能的转义字符,还是某种类型的正则表达式语法?我在API 文档中没有找到任何相关信息。

4

1 回答 1

0

在 sourceforge 论坛的帮助下,解决方案是将 '%' 替换为 unicode % ('\u0025')。

SELECT Animal WHERE name LIKE '\u0025aardvark\u0025'

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

于 2016-02-18T14:45:49.493 回答