【发布时间】:2016-06-13 03:22:57
【问题描述】:
我正在尝试使用 Play 框架将 JSON 转换为 Java 对象。我无法轻松控制名称中包含破折号的输入 JSON。
{ "field-name": "value" }
因此,我无法创建默认映射到 JSON 的 Java 对象。我有一个看起来像这样的类:
import com.fasterxml.jackson.annotation.JsonProperty;
public class Data {
@JsonProperty("field-name")
public String fieldName;
}
我知道Play 2.4 uses Jackson,并且
我有一个单元测试,它能够使用默认的 Jackson ObjectMapper 从 JSON 填充对象。
JSON 是 POST 请求的主体,我尝试像这样使用它:
Form<Data> form = Form.form(Data.class).bindFromRequest();
如果我打印form,我可以用预期值填充数据字段。但是,当我执行form.get() 时,返回的值有一个空字段。 (实际代码中字段较多,有Strings或者longs,都是null或者0)
我是否试图以错误的方式自定义 JSON 反序列化?还是我做错了什么?
【问题讨论】:
标签: java json jackson playframework-2.4