https://github.com/FasterXML/jackson
Trabalhando com JSON via Jackson no Eclipse
Abra o Eclipse
Após o projeto Maven criado, abra o arquivo pom.xml
Inclua a dependencia do Framework Jackson
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
</dependencies>
Crie uma nova Model / Entity (Pessoa)
public class Pessoa {
private long id;
private String nome;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Vejo o exemplo abaixo que permite Serializar e Deserializar dados de uma Model / Entity (Pessoa)
public class App {
public static void main( String[] args ) throws JsonGenerationException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
// -----------------------------------
// Serialize
StringWriter writer = new StringWriter();
mapper.writeValue(writer, getPessoas());
System.out.println(writer);
// -----------------------------------
// Deserialize
String jsonInput = "[{\"id\":1,\"nome\":\"Lucas\"},{\"id\":2,\"nome\":\"Maria\"},{\"id\":3,\"nome\":\"Jose\"}]";
List<Pessoa> p = mapper.readValue(jsonInput, new TypeReference<List<Pessoa>>(){});
System.out.println("Pessoa: " + p);
}
private static List<Pessoa> getPessoas() {
List<Pessoa> pessoas = new ArrayList<Pessoa>();
Pessoa p1 = new Pessoa();
p1.setId(1);
p1.setNome("Lucas");
Pessoa p2 = new Pessoa();
p2.setId(2);
p2.setNome("Maria");
Pessoa p3 = new Pessoa();
p3.setId(3);
p3.setNome("Jose");
pessoas.add(p1);
pessoas.add(p2);
pessoas.add(p3);
return pessoas;
}
}
Altere o corpo da Model / Entity Pessoa e teste os resultados!