Powiedzmy mam klas Java, który wygląda tak:Jackson: serializacji do JSON na obiekty przy użyciu obiektów zagnieżdżonych, łączenie pól dziecko w posiadanie klasy
public class A {
public String name;
public B b;
}
public class B {
public int foo;
public String bar;
}
Chcę serializacji instancji A
do JSON. Mam zamiar użyć klasy ObjectMapper
z Jackson:
A a = new A(...);
String json = new ObjectMapper().writeValueAsString(a);
Za pomocą tego kodu, mój JSON będzie wyglądać następująco:
{
"name": "MyExample",
"b": {
"foo": 1,
"bar": "something"
}
}
Zamiast tego chcę opisywać moje klas Javy tak, że wygenerowany JSON będzie wyglądał następująco:
{
"name", "MyExample",
"foo": 1,
"bar": "something"
}
Jakieś pomysły?
W rzeczywistości, '@ JsonUnwrapped' jest dostępny w Jackson 1.9.x (codehaus zamiast pakietu szybciejxml). Niemniej jednak TO ROZWIĄZANIE DZIAŁA SIĘ WIELKIM! Wielkie dzięki: D – ecbrodie
Ah. Masz rację. :) – StaxMan
Mam już ten sam problem, ale ta adnotacja go nie rozwiązała. Moja własność jest prywatna i kiedy upubliczniam ją tak, aby pasowała do opisu, zaczyna narzekać na metody pobierania klasy B. – Sarge