从JsonNode绑定play.data.Form时使用@JsonProperty映射属性

时间:2014-11-21 11:57:44

标签: json playframework-2.0

我有以下课程

public static class Thing {
    @JsonProperty("_name_")
    String name;
}

我试图将它绑定到表单并以这种方式获取此类的实例

ObjectNode node = Json.newObject();
node.put("_name_", "some name");

Form<Thing> thingForm = Form.form(Thing.class);
thingForm = thingForm.bind(node);
Thing thing = thingForm.get();

所以,我希望thing.name将是“某个名称”但不是,null。我明白@JsonProperty适用于Json(de)序列化,只要尝试过就行了。问题是如何通过Play的表格实现这一目标?

我也按照文档中的说明尝试Register a custom DataBinder,但其方法永远不会被调用。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您是否尝试过thingForm.bindFromRequest()代替thingForm.bind()?我正在使用完全相同的东西,我用json数据制作一个ajax帖子,它对我来说很好。看起来它与@JsonProperty()没有任何关系。

你确定你想要上课static吗?我假设你有表格属性的公共getter / setter。