Olá pessoal. Estou com uma dificuldade e como tenho pouca prática com objetos JSON queria um auxílio de vcs. Esse código abaixo é para criar gerar um objeto JSON. Não sei por qual motivo ele não está funcionando na hora do ParseObject, transformar a String tagDados em um JsonArray. Alguém sabe o que fazer para tratar esse problema ? Vlw.
private static JsonArray gerarAlertas() {
String[] titulos = {"Título 1", "Título 2", "Título 3", "Título 4", "Título 5"};
String[] mensagens = {"Mensagem 1", "Mensagem 2", "Mensagem 3", "Mensagem 4", "Mensagem 5"};
Random random = new Random();
int qtd = random.nextInt(10);
JsonArray arrItems = new JsonArray();
String tagDados;
String item ="";
String rec ="";
if (qtd > 0) {
// Status, título e mensagens
for(int x = 0; x < qtd; x++){
if(x != qtd && x > 0){
rec = ",";
}
tagDados = rec + "[";
tagDados += "{\"status\": " + random.nextInt(3) + "," +
"\"titulo\": \""+ titulos[random.nextInt(5)] + "\"," +
"\"texto\": \"" + mensagens[random.nextInt(5)] + "\"," +
"\"recomendacoes\":[";
// Recomendações
for (int i = 0; i < qtd; i++) {
item = gerarValorRecomendacoes(random.nextInt(5));
}
tagDados += item;
tagDados = tagDados.concat("]}").concat("]");
try{
// Transforma arquivo texto em JSON
JsonObject jsonObject = new JsonParser().parse(tagDados).getAsJsonObject();
arrItems.add(jsonObject);
} catch (IllegalStateException e){
System.out.println("Error: " + e.getMessage());
}
}
}
return arrItems;
}