Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rengavitp

ler json com java

Recommended Posts

Boa tarde pessoal, sou novo ainda em java e estou com a seguinte dificuldade, preciso imprimir um pedido de venda que vem de um sistema no formato json, ja tentei de diversas formas mas nenhuma deu certo, alguem pode me ajudar? Vou colocar abaixo o arquivo json e o metodo mais recente que testei, porem ele só mostra null, sei que o problema deve estar na forma de percorrer o json, mas nao faço ideia de como fazer.

 

{  
   "retorno":{  
      "pedidos":[  
         {  
            "pedido":{  
               "desconto":"15,00",
               "observacoes":"Testando o campo observações do pedido",
               "observacaointerna":"Testando o campo observações internas do pedido",
               "data":"2017-07-28",
               "numero":"1",
               "numeroPedidoLoja":"100000001",
               "vendedor":"João da Silva",
               "valorfrete":"22.50",
               "totalprodutos":"139.98",
               "totalvenda":"147.48",
               "situacao":"Em Aberto",
               "loja": "123456789",
               "dataPrevista":"2017-07-28",
               "tipoIntegracao":"Magento",
               "cliente":{  
                  "nome":"Organisys Software",
                  "cnpj":"00.000.000/0000-1",
                  "ie":"0000000000",
                  "rg":"162788484",
                  "endereco":"Rua Visconde de São Gabriel",
                  "numero":"000",
                  "complemento":"Sala 000",
                  "cidade":"Bento Gonçalves",
                  "bairro":"Cidade Alta",
                  "cep":"95.700-000",
                  "uf":"RS",
                  "email":"teste@organisys.com.br",
                  "celular":"",
                  "fone":"(54) 2222-22222"
               },
               "itens":[  
                  {  
                     "item":{  
                        "codigo":1234,
                        "descricao":"Mochila",
                        "quantidade":"2.0000",
                        "valorunidade":"69.990000000",
                        "precocusto":null,
                        "descontoItem":"0.00",
                        "un":"Pç",
                        "pesoBruto": "0.520",
                        "largura": "20",
                        "altura": "18",
                        "profundidade": "15",
                        "unidadeMedida": "cm",
                        "descricaoDetalhada": "Ecobag esportiva"
                     }
                  }
               ],
               "parcelas":[  
                  {  
                     "parcela":{  
                        "valor":"73.74",
                        "dataVencimento":"2017-07-28 00:00:00",
                        "obs":"Teste obs 1",
                        "forma_pagamento":{  
                           "id":"1",
                           "descricao":"Dinheiro",
                           "codigoFiscal":"1"
                        }
                     }
                  },
                  {  
                     "parcela":{  
                        "valor":"73.74",
                        "dataVencimento":"2017-08-28 00:00:00",
                        "obs":"Teste obs 2",
                        "forma_pagamento":{  
                           "id":"1",
                           "descricao":"Dinheiro",
                           "codigoFiscal":"1"
                        }
                     }
                  }
               ],
               "nota":{  
                  "serie":"1",
                  "numero":"012346",
                  "dataEmissao":"2017-08-28 00:00:00",
                  "situacao":"1",
                  "chaveAcesso":"43140401056417000139550010000123461496923524",
                  "valorNota": "147.48"
               },
               "transporte":{  
                  "transportadora":"Transportadora",
                  "cnpj":"00.000.000/0000-1",
                  "tipo_frete":"R",
                  "volumes":[  
                     {  
                        "volume":{  
                           "idServico":"1231293",
                           "servico":"SEDEX 10",
                           "codigoRastreamento":"SX052413651BR",
                           "dataSaida":"2017-07-28",
                           "prazoEntregaPrevisto":"1",
                           "valorFretePrevisto":"11.25",
                           "valorDeclarado": "0.00",
                           "remessa":{  
                              "numero":"12345AAA",
                              "dataCriacao":"2017-10-17"
                           },
                           "dimensoes":{  
                              "peso":"1.553",
                              "altura":"20",
                              "largura":"15",
                              "comprimento":"20",
                              "diametro":"0"
                           }
                        }
                     },
                     {  
                        "volume":{  
                           "idServico":"1231293",
                           "servico":"SEDEX 10",
                           "codigoRastreamento":"SX052413651BR",
                           "dataSaida":"2017-07-28",
                           "prazoEntregaPrevisto":"1",
                           "valorFretePrevisto":"11.25",
                           "remessa":null,
                           "dimensoes":{  
                              "peso":"1.553",
                              "altura":"20",
                              "largura":"15",
                              "comprimento":"20",
                              "diametro":"0"
                           }
                        }
                     }
                  ],
                  "enderecoEntrega":{  
                     "nome":"Organisys Software Entrega",
                     "endereco":"Rua Assis Brasil",
                     "numero":"222",
                     "complemento":"",
                     "cidade":"Bento Gonçalves",
                     "bairro":"Centro",
                     "cep":"95.700-000",
                     "uf":"RS"
                  }
               }
            }
         }
      ]
   }
}
package javaapplication2;
 
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
 
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
 
public class JSONRead {
 
    public static void main(String[] args) {
        JSONObject jsonObject;
        //Cria o parse de tratamento
        JSONParser parser = new JSONParser();
        //Variaveis que irao armazenar os dados do arquivo JSON
        String nome;
        String sobrenome;
        String estado;
        String pais;
 
        try {
            //Salva no objeto JSONObject o que o parse tratou do arquivo
            jsonObject = (JSONObject) parser.parse(new FileReader(
                    "//users/vagnermocelin/teste.json"));
             
            //Salva nas variaveis os dados retirados do arquivo
            numero = (String) jsonObject.get("numero");
            vendedor = (String) jsonObject.get("vendedor");
            total_produtos = (String) jsonObject.get("total_produtos");
            total_venda = (String) jsonObject.get("total_venda");
 
            System.out.printf(
                    "Numero: %s\nVendedor: %s\nProdutos: %s\nVenda: %s\n",
                    numero, vendedor, total_produtos, total_venda);
        } 
        //Trata as exceptions que podem ser lançadas no decorrer do processo
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
 
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amantes da informática.
       
      Saudações.
       
      Estou usando o Eclipse Mars versão 4.5.0  e o 4.5.2, acredito que deva ter versões mais novas. 
      Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
       
      1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
      2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
      3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
       
      Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
       
      Grato,
       
      Cesar
       
       
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.