Dúvidas JSON

1 resposta
Elias_Santana

Olá amigos, tenho uma dúvida e gostaria de saber se alguém pode me ajudar. Estou trabalhando um uma API que recebe um json () (“org.​codehaus.​jettison.​json”) mas estou com o seguinte problema:

Quando envio um Jsom com apenas um item ele é aceito e recebo o retorno com as informações do seu processamento. O problema é quando adiciono vários itens para compor o Json principal que será enviado eu recebo uma mensagem de erro e ao que parece o arrayJson com todos os istens apresenta um colchete “[” a mais no nó “Items”. Segue abaixo o trecho do código e a mensagem de erro.

Agradeço antecipadamente a juda.

Date dataAtual = new Date();

String hoje = utils.formataDateTime(dataAtual);

nfce.put(“consumidor_final”, “1”);

nfce.put(“presenca_comprador”, “1”);

nfce.put(“forma_pagamento”, codFormaPagamento);

nfce.put(“natureza_operacao”, “Venda ao Consumidor”);

nfce.put(“tipo_documento”, “1”); // 1 - Nota Fiscal de Saída

nfce.put(“cpf_destinatario”, “”);

nfce.put(“icms_valor_total”, “0.0000”);

nfce.put(“icms_modalidade_base_calculo”, “3”);

nfce.put(“valor_frete”, “0.0”);

nfce.put(“modalidade_frete”, “9”);// 0 – Por conta do emitente; 1 – Por conta do destinatário; 2 – Por conta de terceiros; 9 – Sem frete;

nfce.put(“icms_base_calculo”, “0.0000”);

nfce.put(“data_emissao”, hoje);

nfce.put(“cnpj_emitente”, “”);

// Converto a coleção em um objeto JSON

json = new JSONObject(this.nfce);

JSONArray arrObjJson = new JSONArray();

HashMap<String, String> itens;

// Lendo a tabela

for (int i = 0; i < listaProdutosNota.size(); i++) {

itens = new HashMap<>();

itens.put(“numero_item”, listaProdutosNota.get(i).getItem());

itens.put(“codigo_produto”, listaProdutosNota.get(i).getCodProduto());

itens.put(“valor_desconto”, “0.00”);

itens.put(“quantidade_comercial”, listaProdutosNota.get(i).getQtd());

itens.put(“cfop”, “5102”); // Venda de mercadoria adquirida ou recebida de terceiros

itens.put(“icms_situacao_tributaria”, “103”);

itens.put(“unidade_comercial”, “un”);

itens.put(“descricao”, “NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL”); //Substituir pela descrição do produto no ambiente de produção

itens.put(“pis_situacao_tributaria”, “07”);

itens.put(“codigo_ncm”, listaProdutosNota.get(i).getCodNcm());

itens.put(“quantidade_tributavel”, listaProdutosNota.get(i).getQtd());

itens.put(“unidade_tributavel”, “un”);

itens.put(“cofins_situacao_tributaria”, “07”);

itens.put(“valor_unitario_comercial”, listaProdutosNota.get(i).getvUnit());

itens.put(“icms_origem”, “0”);

itens.put(“valor_bruto”, listaProdutosNota.get(i).getVlrTotal());

itens.put(“valor_unitario_tributavel”, listaProdutosNota.get(i).getvUnit());

itens.put(“valor_frete”, “0”);

// Adicionando convertendo a coleção Itens em um objeto Json

JSONObject obj = new JSONObject(itens);
//Colocando um objeto no Array

arrObjJson.put(obj);

}

// Incluído o array com os itens no Json Principal que será enviado

json.append(“items”, arrObjJson);
formasPagamento.put("forma_pagamento", codFormaPagamento);
    formasPagamento.put("valor_pagamento", valorPedido);
    jsonPagamento = new JSONObject(this.formasPagamento);

// Adicionando a forma de pagamento

json.append("formas_pagamento", jsonPagamento);
Conteúdo do Json que está sendo enviado.

{

“consumidor_final”: “1”,

“presenca_comprador”: “1”,

“forma_pagamento”: “99”,

“natureza_operacao”: “Venda ao Consumidor”,

“tipo_documento”: “1”,

“cpf_destinatario”: “”,

“icms_valor_total”: “0.0000”,

“icms_modalidade_base_calculo”: “3”,

“valor_frete”: “0.0”,

“modalidade_frete”: “9”,

“icms_base_calculo”: “0.0000”,

“data_emissao”: “2019-09-21T08:47:02.136-03:00”,

“cnpj_emitente”: “”,

“items”: [

[        <strong>//Este colchete está causando o erro</strong>

{

“valor_desconto”: “0.00”,

“quantidade_comercial”: “1”,

“cfop”: “5102”,

“icms_situacao_tributaria”: “103”,

“unidade_comercial”: “un”,

“codigo_produto”: “73”,

“descricao”: “NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL”,

“pis_situacao_tributaria”: “07”,

“codigo_ncm”: “11041900”,

“quantidade_tributavel”: “1”,

“unidade_tributavel”: “un”,

“cofins_situacao_tributaria”: “07”,

“valor_unitario_comercial”: “14.56”,

“icms_origem”: “0”,

“valor_bruto”: “14.56”,

“valor_unitario_tributavel”: “14.56”,

“valor_frete”: “0”,

“numero_item”: “1”

},

{

“valor_desconto”: “0.00”,

“quantidade_comercial”: “2”,

“cfop”: “5102”,

“icms_situacao_tributaria”: “103”,

“unidade_comercial”: “un”,

“codigo_produto”: “73”,

“descricao”: “NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL”,

“pis_situacao_tributaria”: “07”,

“codigo_ncm”: “11041900”,

“quantidade_tributavel”: “2”,

“unidade_tributavel”: “un”,

“cofins_situacao_tributaria”: “07”,

“valor_unitario_comercial”: “14.56”,

“icms_origem”: “0”,

“valor_bruto”: “29.12”,

“valor_unitario_tributavel”: “14.56”,

“valor_frete”: “0”,

“numero_item”: “2”

},

{

“valor_desconto”: “0.00”,

“quantidade_comercial”: “2”,

“cfop”: “5102”,

“icms_situacao_tributaria”: “103”,

“unidade_comercial”: “un”,

“codigo_produto”: “80”,

“descricao”: “NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL”,

“pis_situacao_tributaria”: “07”,

“codigo_ncm”: “11041900”,

“quantidade_tributavel”: “2”,

“unidade_tributavel”: “un”,

“cofins_situacao_tributaria”: “07”,

“valor_unitario_comercial”: “13.23”,

“icms_origem”: “0”,

“valor_bruto”: “26.46”,

“valor_unitario_tributavel”: “13.23”,

“valor_frete”: “0”,

“numero_item”: “3”

}

]

],

“formas_pagamento”: [

{

“forma_pagamento”: “99”,

“valor_pagamento”: “70,14”

}

]

}

1 Resposta

rodriguesabner

Pq vc converte pra object se você quer passar algo com vários parâmetros?

JSONArray array = new JSONArray (json);

Ai depois vc passa os valores. Você também na colocou o erro que você está tendo… Se vc fizer a alteração e não funcionar,manda o erro

Criado 21 de setembro de 2019
Ultima resposta 21 de set. de 2019
Respostas 1
Participantes 2