2

我正在为其他在 Java 客户端和 .Net MVC4 的 Web 服务之间工作并使用 RoboSpice 和 FasterXML Jackson 框架的人分享这个。我在 stackoverflow 上找不到关于如何设置 JSON POJO 类以正确映射 POST 结果对象的良好信息。对于 POST 操作,RESULT JSON 带有来自 .Net Web 服务的结构:

{"ClassName":{"attribute_one":1,""attribute_two":1,"....}}

我不知道如何让 FastXml Jackson ObjectMapper readValue 解析工作。解析后我得到一个空的结果对象,所有属性都设置为 null 或默认值......,或者如果我关闭了 JsonIgnoreProperties,则类名的属性名称无效。

以下 POJO 对象定义终于对我有用。它有一个与 Result 中的 ClassName 匹配的外部类,然后有一个用于将 Single Result Object 映射到 Java Class Object 的内部静态类:

公共类 ClassNameOuter {

@JsonProperty("ClassName")
public ClassName _ClassName;
public ClassName get_ClassName() {
    return _ClassName;
}
public void set_ClassName(ClassName _ClassName) {
    this._ClassName = _ClassName;
}
@JsonIgnoreProperties(ignoreUnknown=true)
public static class ClassName {

    @JsonProperty("attribute_one")
    public long attribute_one;
    @JsonProperty("attribute_two")
    public long attribute_two;

对于杰克逊和 Robospice 的专家……如果有更好的方法,请分享。

4

1 回答 1

1

RoboSpice 尚不支持使用 Jackson 解析 XML。它提供了一个模块来使用 SimpleXMLSerializer 而不是 jackson 来解析 XML。

你能指出你使用了哪些类的 Jackson,我很快就会在 RS 中添加一个模块。

于 2013-08-15T08:29:30.083 回答