/ / codehaus.jacksonを使用してPOJOSのリストのJSON配列表現を取得する方法 - java、json、spring、jackson

codehaus.jacksonを使用してPOJOSのリストのJSON配列表現を取得する方法 - java、json、spring、jackson

POJOのリストをJSONに変換する方法を探しています。

私たちは「使ってきた」 codehaus jackson もう春MVCと一緒に。 @ResponseBody アクション、私はポヨのリストをJSON配列に変換するためのutilメソッドを考えている そして ObjectMapperクラス それを達成するための直接的な方法はないようです。彼らはそれを行うためのクラスPojoMapperを作成しました。

public static String toJson(Object pojo, boolean prettyPrint)
throws JsonMappingException, JsonGenerationException, IOException {
StringWriter sw = new StringWriter();
JsonGenerator jg = jf.createJsonGenerator(sw);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
m.writeValue(jg, pojo);
return sw.toString();
}

私はそれをお勧めします。別の例では、彼らはファイルを使用しました、しかし、私はファイルを使用する意図を持っていません。

これを読んでくれてありがとう

回答:

回答№1は2

次のことができるはずです。

List<POJO> list = ...;
String json = new ObjectMapper().writeValueAsString(list);

あなたが双方向の親子関係の場合。その後、この関係をJacksonに通知するための注釈を追加する必要があります。

class Parent {

private Child child;

@JsonManagedReference
Child getChild() {return child;}

void setChild(Child child) {this.child = child;}

}

class Child {

private Parent parent;

@JsonBackReference
Parent getParent() {return parent;}

void setParent(Parent parent) {this.parent = parent;}

}

上記は周期的な性質をジャクソンに知らせます無限の循環の循環を広げようとしない。これはJackson 1.6以降ではうまくいくこれはきちんとしています。

また、 ドキュメンテーション 親はコレクションにはなれないと言っています。