【发布时间】:2021-12-14 12:28:36
【问题描述】:
我一直在测试 musicbrainz API,但我发现了一个问题。当标题名称中包含“&”时,查询会返回错误的结果。 例如:标题为“auf & ab”,查询返回名为“auf,auf,auf”的标题。
我通过将 '&' 替换为 'and' 来解决这个问题,如下所示:
if (title.includes('&')){title = title.replace('&','and')}
这会返回正确的结果。 我不确定这是否是解决此问题的方法。 这是我的查询: https://musicbrainz.org/ws/2/recording/?query=recording:auf%20&%20ab%20%26%26%20artist:montez&fmt=json&limit=5
【问题讨论】:
-
当我解码你的网址时..你有 " & " 而不是 "&".. 使用 and 似乎也给出了相同的结果简而言之,在您的网址中
https://musicbrainz.org/ws/2/recording/?query=recording:auf&ab&&artist:montez&fmt=json&limit=5.. 空格键是问题所在(例如:将auf & ab转为auf&ab) -
auf&ab也不起作用。到目前为止唯一有效的是将&替换为and或%26。无论如何,这也许是最好的解决方案...... -
它不起作用是什么意思?检查this repl 看看它的效果如何
-
是的,它确实有效,因为它给了我结果,但它返回'auf,auf,auf'作为标题,而不是'auf & ab'。 encodeURIComponent() 对我来说似乎是一个很好的解决方案。感谢您的帮助!
标签: node.js musicbrainz