Java Language Utilisation de Jackson Object Mapper


Exemple

Modèle Pojo

public class Model {
    private String firstName;
    private String lastName;
    private int age;
    /* Getters and setters not shown for brevity */        
}

Exemple: chaîne à objet

Model outputObject = objectMapper.readValue(
     "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"age\":23}",
     Model.class);
System.out.println(outputObject.getFirstName());
//result: John

Exemple: objet à chaîne

String jsonString = objectMapper.writeValueAsString(inputObject));
//result: {"firstName":"John","lastName":"Doe","age":23}

Détails

Déclaration d'importation nécessaire:

import com.fasterxml.jackson.databind.ObjectMapper;

Maven dépendance: jackson-databind

ObjectMapper

//creating one
ObjectMapper objectMapper = new ObjectMapper();
  • ObjectMapper est threadsafe
  • recommandé: avoir une instance partagée et statique

Désérialisation:

<T> T readValue(String content, Class<T> valueType)  
  • valueType doit être spécifié - le retour sera de ce type
  • Jette
    • IOException - en cas de problème d'E / S de bas niveau
    • JsonParseException - si l'entrée sous-jacente contient un contenu non valide
    • JsonMappingException - si la structure JSON en entrée ne correspond pas à la structure de l'objet

Exemple d'utilisation (jsonString est la chaîne d'entrée):

Model fromJson = objectMapper.readValue(jsonString, Model.class);

Méthode de sérialisation:

String writeValueAsString (valeur d'objet)

  • Jette
    • JsonProcessingException en cas d'erreur
    • Note: avant la version 2.1, la clause throws incluait IOException; 2.1 l'a enlevé.