Olá Gustavo! Como vai?
Sei bem que lidar com JSONs aninhados pode ser um pouco desafiador no início, mas com algumas ferramentas e técnicas, você conseguirá manipular esses dados com mais facilidade.
Uma das bibliotecas mais populares para trabalhar com JSON em Java é a Jackson. Ela permite que você converta JSONs em objetos Java e vice-versa de maneira bem simples.
Para o seu exemplo, você pode começar criando classes que representem a estrutura do seu JSON. Veja como você pode fazer isso:
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
class Pedido {
private int pedidoId;
private String cliente;
private List<Item> itens;
// Getters e Setters
}
class Item {
private String produto;
private int quantidade;
private double preco;
private Detalhes detalhes;
// Getters e Setters
}
class Detalhes {
private String marca;
private String modelo;
private int garantiaMeses;
private String tipo;
private int dpi;
// Getters e Setters
}
public class Main {
public static void main(String[] args) {
String json = "{ \"pedidoId\": 1001, \"cliente\": \"Gustavo\", \"itens\": [ { \"produto\": \"Notebook\", \"quantidade\": 1, \"preco\": 4500.00, \"detalhes\": { \"marca\": \"Dell\", \"modelo\": \"Inspiron 15\", \"garantiaMeses\": 12 } }, { \"produto\": \"Mouse\", \"quantidade\": 2, \"preco\": 150.00, \"detalhes\": { \"marca\": \"Logitech\", \"tipo\": \"Wireless\", \"dpi\": 1600 } } ] }";
ObjectMapper objectMapper = new ObjectMapper();
try {
Pedido pedido = objectMapper.readValue(json, Pedido.class);
for (Item item : pedido.getItens()) {
System.out.println("Produto: " + item.getProduto());
System.out.println("Marca: " + item.getDetalhes().getMarca());
// Continue acessando outros detalhes conforme necessário
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Neste exemplo, usamos a biblioteca Jackson para mapear o JSON em objetos Java. As classes Pedido, Item e Detalhes representam a estrutura do JSON. Depois, usamos o ObjectMapper para converter o JSON em um objeto Pedido. A partir daí, você pode acessar os itens e seus detalhes facilmente.
Certifique-se de adicionar a dependência da biblioteca Jackson ao seu projeto. Se estiver usando Maven, adicione a seguinte dependência ao seu pom.xml:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.