Dúvidas JSON

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”: [
[ //Este colchete está causando o erro
{
“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”
}
]
}

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