Ir para conteúdo

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 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?
    • Por clovis.sardinha
      Estou em um impasse pois sei pouco de javascript. Estou fazendo um autocomplete com CI4 e Javascript.
      Consigo gerar, através do controllers/model do CI4 um arquivo em json, mas não consigo retorná-lo para o javascript para poder mostrar as opções para consulta. 
      O console.log mostra que estou obtendo o  json() { [native code] }.
      Segue os dois arquivos para ver se alguém me ajuda.
      //arquivo cidade.js async function carregar_cidade(valor) { if (valor.length >= 3) { //console.log("Pesquisar:" + valor); const dados = fetch('Testes/?cidade='+valor, { method: "get", headers: { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" } }); const resposta = (await dados).json; console.log(resposta); var html = "<ul class='list-group position-fixed'>"; html += "<li class='list-group-item'>" + resposta['cid_nome'] + "</li>"; html += "</ul>"; } } <?php //arquivo Testes.php namespace App\Controllers; use App\Models\CidadeModel; /** NÃO MANDAR PARA O SERVIDOR - APENAS TESTES DE FUNÇÕES E OUTROS ELEMENTOS DO CI4 */ class Testes extends BaseController{ protected $tbCidades; public function __construct(){ $this->tbCidades = new CidadeModel(); } public function index(){ $request = \Config\Services::request(); $client = \Config\Services::curlrequest(); $cidades=[]; if($get=$request->getGet()){ $cities=$get['cidade']; $cidadeFiltrada=$this->tbCidades->getCidByName($cities); $cidades= json_encode($cidadeFiltrada); //dd($cidades); } echo view('Testes/testes'); } public function salvar(){ $request = \Config\Services::request(); if($post=$request->getPost()){ dd($post); } } } <!doctype html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <title>Autocomplete</title> </head> <body> <div class="container"> <h1 class="mt-4 mb-4">Formulário</h1> <form class="row g-3"> <div class="col-12"> <label for="cidade" class="form-label">Cidade</label> <input type="text" name="cidade" class="form-control" id="cidade" placeholder="Pesquisar cidade" onkeyup="carregar_cidade(this.value)"> </div> <span ></span> </form> </div> <!-- Optional JavaScript; choose one of the two! --> <!-- Option 1: Bootstrap Bundle with Popper --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> <script src="assets/js/cidade.js"></script> </body> </html>
    • Por FabianoSouza
      Olá pessoal.
      Eu já utilizo o FOR JSON PATH para retornar o o resultado de uma consulta com JSON. Isso eu já sei fazer.
       
      O que preciso é criar uma função que receba um SELECT como parâmetro e retorne o resultado desse SELECT já formatado como JSON.
      Estou tentando isso, mas sem sucesso.
       
      A function dbo.fn_retornaJsonPath :
      (@String NVARCHAR(MAX)) RETURNS NVARCHAR(MAX) AS BEGIN BEGIN IF @String <> NULL SET @String = (SELECT @String AS jsonPath FOR JSON PATH) END BEGIN IF @String IS NULL SET @String = '[]' END RETURN @String END Forma de executar:
      SET @sql = 'SELECT ' SET @sql = @sql + ' dbo.fn_retornaJsonPath ((SELECT TT.tema FROM dbo.tabela AS TT WHERE TT.cd = CTT.id)) AS ''temas'' ' SET @sql = @sql + ' FROM dbo.minhaTab AS CTT ' EXEC(@sql) Mas não está rolando....
    • Por Jack Oliveira
      Ola pessoal boa tarde
      estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso
       
      Este é o codigo 
      <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>  
    • Por Rengavitp
      Boa noite pessoal!
       
      Estou fazendo um projeto web com spring boot e é a primeira vez que lido com imagens. Minha idéia é salvar imagens em uma pasta e depois recuperar essa imagem e mostrar, mas o problema que estou enfrentando é o seguinte, seu eu envio para o src do projeto na pasta imagens, eu até consigo acessar as imagens, mas preciso atualizar o projeto na IDE (isso vai acontecer em produção?) eu tentei salvar em uma pasta fora do source do projeto mas ai não consigo acessar. como devo fazer? fiz várias pesquisas, mas nenhuma me ajudou.
       
      Desde já agradeço.
×

Informação importante

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