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 2.5 WebSocket连接搭建

不能使用返回 play.mvc.WebSocket 的方法作为 Play 中请求的处理程序?

无法从 Play 2.4 中的 WebSocket 返回 Future[JsValue] 内的 json

Scala Play WebSockets

Play 2.4 WebSocket在使用编译时依赖注入时抛出InstantiationException