Json 游戏中未检索POST数据!框架
我有一个视图发布了一组有效的json,比如Json 游戏中未检索POST数据!框架,json,post,playframework,Json,Post,Playframework,我有一个视图发布了一组有效的json,比如 [{"profile_sfid":"00eA0000000l3v7IAA", "object":[{"name":"null", "viewable":[],"editable":[]},{"name":"account", "viewable":["Object Type","Salesforce ID"],"editable":["Test Multi","Test Checkbox"]},{"name":"contact", "viewable"
[{"profile_sfid":"00eA0000000l3v7IAA", "object":[{"name":"null", "viewable":[],"editable":[]},{"name":"account", "viewable":["Object Type","Salesforce ID"],"editable":["Test Multi","Test Checkbox"]},{"name":"contact", "viewable":["Object Type","Salesforce ID"],"editable":["Test Multi","Test Checkbox"]}]}]
在/saveAssignments处创建路线。post操作将返回一条200成功消息,但控制器方法将logger语句上的json返回null
public static void saveAssignments(JsonElement json)
{
Logger.debug("Hey guys, here is my json! " + json);
}
对JsonElement使用以下GSONBinder
@Global
public class GsonBinder implements TypeBinder<JsonElement> {
@Override
public Object bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) throws Exception
{
return new JsonParser().parse(value);
}
}
如果有任何帮助,我将不胜感激,因为我不确定它为什么不能正确接受这一点。我正在做类似的事情,使用一个pojo类,该类的结构与示例中要接收的json对象相同,即Player类:
public class Player {
public String name;
...
}
public static void addPlayerJSON(JsonObject body) {
Gson gson = new Gson();
Player newPlayer = gson.fromJson(body, Player.class);
Logger.debug("Player name: " + newPlayer.name);
...
}
newPlayer对象从json解析数据。如果您传递一个参数json={your json},您将在服务器端接收它。或者将json参数重命名为body,以便它可以使用在请求正文中发布的json