I have the following JSON:
{
"_status": "sucesso",
"_dados": [
{
"IdIntegracao": "H1xo7lOOX",
"SacadoCPFCNPJ": "08896903912",
"SacadoEmail": "[email protected]",
"SacadoEnderecoNumero": "228",
"SacadoEnderecoBairro": "SANTA MARIA",
"SacadoEnderecoCEP": "87970000",
"SacadoEnderecoCidade": "NOVA LONDRINA",
"SacadoEnderecoComplemento": "casa",
"SacadoEnderecoLogradouro": "RUA BELO HORIZONTE,228",
"SacadoEnderecoPais": "Brasil",
"SacadoEnderecoUF": "PR",
"SacadoNome": "LEANDRO SANTOS CUSTODIO",
"SacadoTelefone": null,
"TituloDataDesconto": "13/10/2018 00:00:00",
"TituloDataDesconto2": null,
"TituloDataEmissao": "13/09/2018 00:00:00",
"TituloDataVencimento": "13/10/2018 00:00:00",
"TituloDataMulta": "14/10/2018 00:00:00",
"PagamentoData": "13/09/2018 00:00:00",
"PagamentoDataCredito": "14/09/2018 00:00:00",
"TituloPrazoProtesto": null,
"TituloMensagem01": "Infomania Sistemas Empresariais",
"TituloMensagem02": "Após vencimento multa de 0,03 e juros de 0,50.",
"TituloMensagem03": "Obrigado pela preferência.",
"TituloMensagem04": null,
"TituloMensagem05": null,
"TituloMensagem06": null,
"TituloMensagem07": null,
"TituloMensagem08": null,
"TituloMensagem09": null,
"TituloInstrucao1": null,
"TituloInstrucao2": null,
"TituloOcorrencias": [
{
"codigo": "02",
"mensagem": "Movimento: Entrada confirmada",
"criado": "2018-09-14T13:34:09.000Z",
"atualizado": "2018-09-14T13:34:09.000Z"
},
{
"codigo": "06",
"mensagem": "Movimento: Liquidação Normal",
"criado": "2018-09-14T13:34:09.000Z",
"atualizado": "2018-09-14T13:34:09.000Z"
},
{
"codigo": "28",
"mensagem": "Movimento: Tarifa",
"criado": "2018-09-14T13:34:09.000Z",
"atualizado": "2018-09-14T13:34:09.000Z"
},
{
"codigo": "B3",
"mensagem": "Tarifa de registro de entrada do título",
"criado": "2018-09-14T13:34:09.000Z",
"atualizado": "2018-09-14T13:34:09.000Z"
}
],
"TituloMovimentos": [
{
"codigo": "02",
"mensagem": "Movimento: Entrada confirmada",
"data": "13/09/2018 00:00:00",
"ocorrencias": []
},
{
"codigo": "06",
"mensagem": "Movimento: Liquidação Normal",
"data": "13/09/2018 00:00:00",
"ocorrencias": [
{
"codigo": "H5"
}
]
},
{
"codigo": "28",
"mensagem": "Movimento: Tarifa",
"data": "13/09/2018 00:00:00",
"ocorrencias": [
{
"codigo": "B3",
"mensagem": "Tarifa de registro de entrada do título"
}
]
}
],
"TituloNossoNumero": "2844",
"TituloNumeroDocumento": "2844",
"TituloOrigemDocumento": null,
"PagamentoRealizado": true,
"TituloValorJuros": "0,50",
"PagamentoValorCredito": "0,00",
"TituloValorDesconto": "0,00",
"TituloValorDescontoTaxa": "0,00",
"TituloValorDescontoTaxa2": "0,00",
"TituloValorOutrosAcrescimos": "0,00",
"TituloValorMulta": "0,00",
"TituloValorMultaTaxa": "0,00",
"PagamentoValorPago": "3,00",
"PagamentoValorTaxaCobranca": "1,50",
"TituloValorAbatimento": "0,00",
"PagamentoValorOutrasDespesas": "0,00",
"PagamentoValorIOF": "0,00",
"PagamentoValorOutrosCreditos": "0,00",
"PagamentoDataTaxaBancaria": "13/09/2018 00:00:00",
"TituloValor": "3,00",
"situacao": "LIQUIDADO",
"impressao_visualizada": false,
"motivo": null,
"PagamentoValorDesconto": "0,00",
"PagamentoValorAcrescimos": "0,00",
"PagamentoValorAbatimento": "0,00",
"TituloAgenciaCobradora": null,
"TituloAgenciaCobradoraDv": null,
"TituloDataDocumento": null,
"TituloLinhaDigitavel": "74891.11828 02844.307286 04612.331035 6 76760000000300",
"TituloNossoNumeroImpressao": "182028443",
"TituloCodigoBarras": "74896767600000003001118202844307280461233103",
"TituloDataImpressaoVisualizada": null,
"SacadoCelular": "44999958297",
"TituloValorCobrado": "0,00",
"TituloDataJuros": "14/10/2018 00:00:00",
"TituloCodigoMulta": "2",
"TituloAceite": null,
"TituloPrazoBaixa": null,
"TituloSacadorAvalista": "CHINA E REIS LOCAÇÃO DE MÁQUINAS LTDA",
"TituloSacadorAvalistaEndereco": "Avenida JK 466",
"TituloSacadorAvalistaCidade": "Nova Londrina",
"TituloSacadorAvalistaCEP": "87970000",
"TituloSacadorAvalistaUF": "PR",
"TituloInscricaoSacadorAvalista": "08815635000159",
"TituloCodBaixaDevolucao": null,
"TituloCodigoJuros": null,
"TituloDocEspecie": null,
"TituloCodDesconto": null,
"TituloCodDesconto2": null,
"TituloCodEmissaoBloqueto": null,
"TituloOutrasDeducoes": null,
"TituloUsoBanco": null,
"TituloPagamentoMinimo": "0,00",
"TituloLocalPagamento": "PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DE CRÉDITO SICREDI",
"TituloForcarFatorVencimento": null,
"TituloInformacoesAdicionais": null,
"TituloInstrucoes": null,
"TituloParcela": null,
"TituloVariacaoCarteira": null,
"TituloCategoria": null,
"TituloModalidade": "1",
"TituloCodCliente": null,
"TituloIos": null,
"TituloCip": null,
"TituloCodProtesto": 3,
"CedenteAgencia": "072804",
"CedenteAgenciaDV": null,
"CedenteCodigoBanco": "748",
"CedenteConta": "61233",
"CedenteContaNumeroDV": "2",
"CedenteCarteira": "1",
"CedenteNumeroConvenio": "61233"
}
],
"_meta": {
"_itens_por_pagina": 20,
"_paginacao": {
"_proximo": false,
"_anterior": false
},
"_total": 1
}
}
I need to get some information from there. I'm using the following method:
private static List<PagamentoRealizado> pagamentosDoJson(String json)
throws IOException {
JsonReader reader = Json.createReader(new StringReader(json));
JsonObject status = reader.readObject();
JsonObject dados = status.getJsonObject("sucesso");
JsonArray titulosNaoConciliados = dados.getJsonArray("_dados");
return titulosNaoConciliados
.stream()
.map(titulo -> {
JsonObject obj = (JsonObject) titulo;
String tituloNossoNumero = obj.getString("TituloNossoNumero");
boolean pagamentoRealizado = obj.getBoolean("PagamentoRealizado");
return new PagamentoRealizado(tituloNossoNumero, pagamentoRealizado);
}).collect(Collectors.toList());
}
But I get an error of java.lang.NullPointerException
here: JsonArray titulosNaoConciliados = dados.getJsonArray("_dados");
Would anyone have any idea how to solve this?