Play[2.2] websocket USA Today api 错误 com.fasterxml.jackson.core.JsonParseException: Unexpected chara
Posted
技术标签:
【中文标题】Play[2.2] websocket USA Today api 错误 com.fasterxml.jackson.core.JsonParseException: Unexpected character (\'<\' (code 60)): 预期有效值【英文标题】:Play[2.2] websocket USA Today api error com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid valuePlay[2.2] websocket USA Today api 错误 com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): 预期有效值 【发布时间】:2015-04-12 21:18:09 【问题描述】:我正在尝试在 Play 中使用此调用来调用 USA Today api:
public static Promise<Result> feedZilla()
final Promise<Result> resultPromise = WS.url("http://api.usatoday.com/open/articles/topnews/home?count=10&days=0&page=0&encoding=json&api_key=(My Key).get().map(
new Function<WS.Response, Result>()
public Result apply(WS.Response response)
JsonNode json = response.asJson();
return ok(json);
);
return resultPromise;
但我不断收到此错误消息:
error com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value
我很确定代码和网址是有效的。该代码在我使用 FeedZilla 的 api 之前有效,并且 url 在 Postman 中有效。不知道发生了什么。任何帮助表示赞赏。谢谢
【问题讨论】:
响应中的语法错误。您可以打印响应文本以查看从服务器返回的内容。 (无关:url字符串没有结束"
)
感谢您的回复。我在发布前删除了我的密钥时不小心删除了“。Play 得到的响应是 Developer Inactive
。不确定这是怎么回事,因为该网址在 Postman 中有效。 【参考方案1】:好的,我想通了。显然 play 不喜欢像这样在 url 中硬编码查询参数。我必须使用 .setQueryParameter(""paramKey", "paramValue"); 设置它们;
【讨论】:
以上是关于Play[2.2] websocket USA Today api 错误 com.fasterxml.jackson.core.JsonParseException: Unexpected chara的主要内容,如果未能解决你的问题,请参考以下文章
Play WebSocket 客户端用于负载测试另一个 Play WebSocket 服务器应用程序
不能使用返回 play.mvc.WebSocket 的方法作为 Play 中请求的处理程序?