java - Play 框架 2.0.4 Java : impossible to convert ArrayList of POJOs in JsonNode

标签 java json playframework playframework-2.0 jackson

我有以下类(class):

@Entity
@Table(name = "update_field")
public class UpdateField extends Model {

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    public int                                 id;
    @ManyToOne
    @JoinColumn(name = "update_proposition")
    @JsonIgnore
    public UpdateProposition                   updateProposition;
    @Column(name = "nom_champ")
    public String                              nomChamp;
    @Column(name = "nom_clair")
    public String                              nomEnClair;
    @Column(name = "old_value")
    public String                              oldValue;
    @Column(name = "new_value")
    public String                              newValue;
    public static Finder<Integer, UpdateField> find = new Finder<Integer, UpdateField>(Integer.class, UpdateField.class);
}

我通过此类的实例获得了一个 ArrayList 组合,并尝试将其转换为 JsonNode,但它不起作用,它阻塞了我的服务器,我必须重新启动它。

public static Result getFields(final String requestUUID) {
        List<UpdateProposition> propositionList = UpdateProposition.find.where()
                                                                        .eq("update_request",
                                                                            UUID.fromString(requestUUID)).findList();
        List<UpdateField> result = new ArrayList<UpdateField>();
        for(UpdateProposition updateProposition : propositionList) {
            List<UpdateField> fieldList = UpdateField.find.where().eq("update_proposition", updateProposition.id)
                                                          .findList();
            for(UpdateField updateField : fieldList) {
                result.add(updateField);
            }
        }
        ObjectMapper om = new ObjectMapper();
        JsonNode node = om.valueToTree(result);
        // JsonNode node = Json.toJson(result);
        return ok(node);
    }

我尝试直接使用 play.lib.Json.toJson(Object) 或使用 org.codehaus.jackson.map.ObjectMapper.valueToTree(Object),它是相同。我没有任何异常(exception),服务器只是在转换方法上被阻止(如在 Debug模式下看到的)。 ArrayList 看起来格式良好。

有人有想法吗?

感谢您的帮助。

最佳答案

我犯了一个错误:我没有导入正确的@JsonIgnore(我必须使用org.codehaus.jackson.annotate.JsonIgnore,但是,在 Eclipse 中使用自动完成功能可以快速完成操作,我导入了我的应用程序中不可用的新版本)...

关于java - Play 框架 2.0.4 Java : impossible to convert ArrayList of POJOs in JsonNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23778614/

相关文章:

java - 必须使用 Java 正则表达式的什么语法来捕获行的最后一部分(帖子中的详细信息)?

java - Netflix Feign 不支持内容类型 'pplication/json;charset=UTF-8'

java - 无法建立 kmodule 的索引

javascript - Ajax 请求加载时间过长

.net - JSONP 对真正 REST 的影响

scala - 如何跳出 Play Framework 模板循环?

java - 我的 java 类的 URL

json - 使用组合器将 Scala 对象转换为 Json Formatter

continuous-integration - 如何将 Play 与自定义模块和持续集成一起使用

javascript - 如何在不包装到数组的情况下将整个对象附加到另一个对象中