2
我通过数据源使用Goodreads API。我使用ISBN号搜索,如果有任何结果,它会返回结果。这里是什么样子,如果这本书被发现:如何判断pick()的结果是否是字符串
<GoodreadsResponse>
<Request>
<authentication>true</authentication>
<key><![CDATA[--redacted--]]></key>
<method><![CDATA[api_book_url]]></method>
</Request>
<book id="6558055">
<title><![CDATA[Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition]]></title>
<isbn><![CDATA[]]></isbn>
<link>http://www.goodreads.com/book/show/6558055-mythical-man-month-the?utm_medium=api&utm_source=book_link</link>
</book>
</GoodreadsResponse>
如果没有找到这本书,这将是除了<book>
部分不存在一样。一旦这个XML已经被KRL解析,你可以想象JSON的样子。
我pick()
荷兰国际集团的link
标签了这样的回应:
url = data.pick("$..link.$t");
如果有<book>
部分,即工作得很好; url
将是一个字符串。但是如果没有<book>
部分,url
将是一个空数组([]
)。
如果url
是字符串,我只希望我的规则中的操作能够运行。我尝试过使用诸如if url != [] then
或url.length()
(它总是为零),但这些都不起作用。
如何知道url
是字符串还是空数组?