运行测试时邮递员错误:JSONError: Unexpected token u in JSON at position 0
Posted
技术标签:
【中文标题】运行测试时邮递员错误:JSONError: Unexpected token u in JSON at position 0【英文标题】:Postman error when running tests: JSONError: Unexpected token u in JSON at position 0 【发布时间】:2019-12-05 23:24:00 【问题描述】:重现错误的步骤:https://blog.getpostman.com/2016/11/09/generate-spotify-playlists-using-a-postman-collection/
我一直在按照上述教程向 Spotify 发送 API 请求。我成功获得了授权码,但是,尽管正确遵循了教程,但 Postman 在为 Spotify 运行集合时出现错误。
通过查看控制台,如下所示的行有错误: 错误消息读取 XPath runner/search 已经存在 错误运行脚本:JSONError |位置 0 处 JSON 中的意外标记 u 执行获取艺术家热门曲目的预请求脚本时出错:JSONError: Unexpected token u in JSON at position 0 另外两个人遇到了这个问题,但他们从未得到答复。任何想法如何解决这一问题?我是 API 请求的新手,因此非常感谢任何帮助!
验证的预请求脚本:
var client_credentials = (environment.client_id + ':' + environment.client_secret).encodeBase64();
postman.setEnvironmentVariable("client_credentials", client_credentials);
environment.cloned_environment && (delete environment.cloned_environment);
var environmentObjClone = _.cloneDeep(environment);
postman.setEnvironmentVariable("cloned_environment", JSON.stringify(environmentObjClone));
艺术家的预请求脚本:
try
var artist_id = _.sample(JSON.parse(environment.artists));
postman.setEnvironmentVariable("id", artist_id);
catch (e)
console.log(e);
throw false;
JSON:
"id": "b2b45667-7ec9-4d5d-9e38-c976d181c2bd",
"name": "SpotifyGenV1.template1",
"values": [
"key": "artists",
"value": "[“2DaxqgrOhkeH0fpeiQq2f4”, “2ooIqOf4X2uz4mMptXCtie”]",
"enabled": true
,
"key": "N",
"value": "5",
"enabled": true
,
"key": "user_id",
"value": "marcz2007",
"enabled": true
,
"key": "country_code",
"value": "US",
"enabled": true
,
"key": "client_id",
"value": "744a1316f9374a27b7ec9bc7eabb0f92",
"enabled": true
,
"key": "client_secret",
"value": "---secret--",
"enabled": true
,
"key": "refresh_token",
"value": "AQAf0rvuNBo23wiIiyWQRfavFvx7JdTjvGYLufOBAM1ABtvXWvfqqo_I0IfhFAelTPIh8w2cscS4C1k8QLKOc1rqn18CjKJbmczfu1X-EfEFaWjcDbIPYGCIGZmbNZv5DgiJ9w",
"enabled": true
,
"key": "client_credentials",
"value": "NzQ0YTEzMTZmOTM3NGEyN2I3ZWM5YmM3ZWFiYjBmOTI6M2ZiNWM2MDBkODRhNDU1ODhmZTNiZWM4MTI5N2E4M2Y=",
"enabled": true
,
"key": "cloned_environment",
"value": "\"artists\":\"[“2DaxqgrOhkeH0fpeiQq2f4”, “2ooIqOf4X2uz4mMptXCtie”]\",\"N\":\"5\",\"user_id\":\"marcz2007\",\"country_code\":\"US\",\"client_id\":\"744a1316f9374a27b7ec9bc7eabb0f92\",\"client_secret\":\"3fb5c600d84a45588fe3bec81297a83f\",\"refresh_token\":\"AQAf0rvuNBo23wiIiyWQRfavFvx7JdTjvGYLufOBAM1ABtvXWvfqqo_I0IfhFAelTPIh8w2cscS4C1k8QLKOc1rqn18CjKJbmczfu1X-EfEFaWjcDbIPYGCIGZmbNZv5DgiJ9w\",\"client_credentials\":\"NzQ0YTEzMTZmOTM3NGEyN2I3ZWM5YmM3ZWFiYjBmOTI6M2ZiNWM2MDBkODRhNDU1ODhmZTNiZWM4MTI5N2E4M2Y=\",\"authorization\":\"BQD6I914g3iIt3zs1lpZl7nriwNgkFNMuIjIPjEa6ElTZw_PEbx3ewZkb38zlhypR5BfuyXLUxdJ0WyZ1TWETMSPYpPwBk7Olf6E5J49Q67BhgFWp5A4HyxYHgXNO-56sbOGx1aszETJ24Q8uGfOizzsv9WhpVU2cuC8lJdA3K2aYqc0L-8JnmD0VIrQhwX0\",\"playlist_id\":\"0cfptAtDW6jHMeWauwQ13w\",\"artist_name\":\"Oasis\",\"artistID\":\"2DaxqgrOhkeH0fpeiQq2f4\",\"trackID\":\"4AKUOaCRcoKTFnVI9LtsrN\"",
"enabled": true
,
"key": "authorization",
"value": "BQD6I914g3iIt3zs1lpZl7nriwNgkFNMuIjIPjEa6ElTZw_PEbx3ewZkb38zlhypR5BfuyXLUxdJ0WyZ1TWETMSPYpPwBk7Olf6E5J49Q67BhgFWp5A4HyxYHgXNO-56sbOGx1aszETJ24Q8uGfOizzsv9WhpVU2cuC8lJdA3K2aYqc0L-8JnmD0VIrQhwX0",
"enabled": true
,
"key": "playlist_id",
"value": "0cfptAtDW6jHMeWauwQ13w",
"enabled": true
,
"key": "artist_name",
"value": "Oasis",
"enabled": true
,
"key": "artist_id",
"value": "2DaxqgrOhkeH0fpeiQq2f4",
"enabled": true
,
],
"_postman_variable_scope": "environment",
"_postman_exported_at": "2019-07-28T12:45:10.195Z",
"_postman_exported_using": "Postman/7.3.4"
【问题讨论】:
当您收到 400 错误时,您的代码可能有问题。您能否分享您在请求前脚本中针对这些请求的内容的图像。该博客是 3 年前的,因此 Spotify 也有可能从那时起也发生了变化。我怀疑这个错误与解析请求正文有关。 是的,可能是这样,我已经在上面的预请求脚本中进行了编辑(api.spotify.com/v1/artistsid/related-artists 的脚本是空的)。这里有什么引起你注意的地方吗? 我遇到了同样的问题,而真正奇怪的是,这个电话曾经奏效。我什至做了一个演示,从那以后就没有改变过代码。是的,我设置的环境和以前一样。 【参考方案1】:我没有详细阅读您的问题,但是
JSONError: Unexpected token u in JSON at position 0
是典型的
当您尝试 GET 一个 Postman 变量时出现错误消息
存在。
(因为拼写错误或其他原因。)
密切相关的是错误信息
JSONError: Unexpected token '<' at 1:1<!doctype html>^
哪个
typically occurs when you try to request a URL that doesn't exist.
【讨论】:
【参考方案2】:缺少环境变量是原因之一。还要确保该值出现在Initial Value
部分中,而不仅仅是Current Value
另一个意外将返回字符留在变量中,这将给出以下结果
unexpected token \n in JSON...
删除返回字符(邮递员 UI 将其显示为返回符号,而不是字符本身)并解决了此问题。
【讨论】:
以上是关于运行测试时邮递员错误:JSONError: Unexpected token u in JSON at position 0的主要内容,如果未能解决你的问题,请参考以下文章
JsonError: Expecting property name enclosed in double quotes