我有一個問題與播放框架2.1.1(Java)告訴我,我發送無效的JSON。播放框架2.x和2.1.0有類似/可能相同的問題,但它應該在播放框架2.1.1 afaik中解決:請參閱Invalid JSON in Play Framework 2.1使用CURL無效的JSON響應
這就是我正在做的代碼中,我試圖使它有點短:
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonParser;
import play.libs.Json;
import play.mvc.BodyParser;
@BodyParser.Of(BodyParser.Json.class)
public static Result login() {
JsonNode json = request().body().asJson();
}
當我運行:
curl -v -H "Content-Type: application/json" -X POST -d '{"email":"[email protected]","password":"test"}' http://localhost:9000/mobile/login
我得到如下回應:
< HTTP/1.1 400 Bad Request
< Content-Type: text/html; charset=utf-8
< Content-Length: 1917
...
<p id="detail">
For request 'POST /mobile/login' [Invalid Json]
</p>
...
我清理了我的項目並重新運行了好幾次。當運行約我得到以下輸出玩法:
[info] Loading project definition from /path/to/project
[info] Set current project to FFPushAlarmPlay (in build file:/path/to)
[info] This is sbt 0.12.2
[info] The current project is {file:/path/to}...
[info] The current project is built against Scala 2.10.0
[info] Available Plugins: play.Project, sbt.PlayProject, com.typesafe.sbteclipse.plugin.EclipsePlugin, com.typesafe.sbtidea.SbtIdeaPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.9.2
我做得非常不對?任何幫助將不勝感激,因爲這是我的第一個播放2項目!
更新:我忘了提及,我也有一個iOS客戶端,它使用AFNetworking自動構建JSON,我也在那裏得到一個無效的JSON響應。所以它似乎不是無效的JSON導致這...
感謝您的回覆!我正在使用OS X.我只是嘗試了關於轉義JSON的提示,但仍然會收到「無效的JSON」作爲響應。這會讓我感到驚訝,因爲我有一個iOS客戶端,它也得到相同的響應,並使用AFNetworking庫來處理JSON請求。我忘了在我原來的帖子中提到這個,對不起! – mactunes 2013-05-13 10:45:16
你也可以安裝包含Git Bash和curl命令的Git。 – null 2014-09-05 13:44:05