Objet Json conversion en objet java à l'aide de jackson

J'ai suivantes données json

{"id":10606,
 "name":"ProgrammerTitle",
 "objectMap":{"programme-title":"TestProgramme","working-title":"TestProgramme"}
}

Je veux mettre ces données à mon pojo objet

public class TestObject {
    private Long id;
    private String name;

    @JsonProperty("programme-title")
    private String programmeTitle;

    @JsonProperty("working-title")
    private String workingTitle;
}

Ici, je suis en mesure de définir l'id et le nom de mon objet de test mais pour l'objet carte, je ne suis pas capable de mettre des données.

Donc j'ai fait le plus de classe pour ObjectMap qui contient programmeTitle & workingTitle cela fonctionne bien mais je ne peux pas définir ce champs directement à mon pojo objet
est-ce possible de mettre en?

Je suis à l'aide de Jackson Objet Mappeur pour convertir les données json.

Il fonctionne très bien si je crée un autre objet java à l'intérieur de mon pojo comme:

public class TestObject {
private Long id;
private String name;

@JsonProperty("objectMap")
private ObjectMap objectMap;

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public ObjectMap getObjectMap() {
    return objectMap;
}

public void setObjectMap(ObjectMap objectMap) {
    this.objectMap = objectMap;
}

}

public class ObjectMap {

@JsonProperty("programme-title")
private String programmeTitle;

@JsonProperty("working-title")
private String workingTitle;

public String getProgrammeTitle() {
    return programmeTitle;
}

public void setProgrammeTitle(String programmeTitle) {
    this.programmeTitle = programmeTitle;
}

public String getWorkingTitle() {
    return workingTitle;
}

public void setWorkingTitle(String workingTitle) {
    this.workingTitle = workingTitle;
}

}

  • consultez ce lien mkyong.com/java/how-to-convert-java-object-to-from-json-jackson
  • Votre objet json et POJO Java ne correspond pas. TestObject->programme-title est pas le même que Obj->objectMap->programme-title
  • Salut, j'ai vérifié le post étant donné que je l'obtenir, mais je veux utiliser un objet json qui est à l'intérieur de cet objet est-ce possible ?
  • Il n'est pas possibel pour définir ce type de cartographie à l'aide d'annotations. Mais vous pouvez mettre en œuvre votre personnalisé deserializer pour ce type et de les utiliser dans le processus de désérialisation. Voir ce lien: javacodegeeks.com/2013/08/...
InformationsquelleAutor hemali | 2013-10-01