Ir para conteúdo

Arquivado

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

Fagner Dos Santos

Problemas com JSON no Webservice

Recommended Posts

Amigos, estou com um sério problema com json2.asp

Estou usando ele pra listar uma paginação de um webservice.

Ele lê normalmente a página 1, mas quando o WHILE passa pra pagina 2 ele me retorna um erro

Acredito que seja alguma coisa no sentido de zerar o Objeto Json mas não estou sabendo como fazer.

 

Erro de tempo de execução do Microsoft VBScript erro '800a01b6'

O objeto não dá suporte para a propriedade ou método: 'parse'

api_sms/grava_extrato_sms.asp, linha 93
paginas=2
conta = 0
webservice_url = "https://api.directcallsoft.com/extrato/list-sms"
do while conta <= paginas
  conta = conta + 1
  
  resultado = ""
  arrmsg = ""
  mensagens = ""

  response.write "conta: " & conta
  response.write ","
  '===== CONSULTAR SMS
  set Xml = Server.Createobject("MSXML2.ServerXMLHTTP")
  Xml.open "POST", webservice_url, false
  Xml.setRequestHeader "content-type", "application/x-www-form-urlencoded"
  Xml.send("access_token="&tokenSMS&"&formato=json&dataInicial="&dataAnterior&"&dataFinal="&dataAtual&"&pagina=" & conta)
  resultado = Xml.responseText

  Set json = JSON.parse(resultado)
  mensagens = json.msg
  arrmsg = split(mensagens, ",")
  

  for i=0 to ubound(arrmsg)
    response.write "conta_for: " & i
    response.write ","
    callerid = json.msg.get(i).callerid
    cliente = json.msg.get(i).cliente
    status_sms = json.msg.get(i).status_sms
    callerid = json.msg.get(i).callerid
    custo = json.msg.get(i).custo
    uuid_origem = json.msg.get(i).uuid_origem
    response.write callerid
    response.write ","
  next
loop
set Xml = Nothing
set json = Nothing

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • 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 vicente386
      Ola. Tenho uma tabela no 3 campos que sao "LIVRO, POS, PAGINA" ao qual a logica e a seguinte: cada livro tem 100 paginas cada pagina tem 30 posiçoes tenho 8,364 registros pra inserir chegando a 100 paginas com 30 posiçoes cada passa para o livro 2 e como fazer o update na tabela inserindo nos campos LIVRO = 1, POS de 0 a 30 e PAGINA 1 para cada 30 registros logos apos pagina 2 ?
      estou tentando fazer assim:
      <?php > ini_set('max_execution_time', 2000); $pdo = new > DO(DB_SERVER.":host=".DB_HOST.";dbname=".DB_BASE,DB_USER,DB_PASSWORD); > $sql = $pdo->prepare("SELECT count(*) FROM tabela2018"); > $sql->execute(); > $livro = 1; > foreach($sql as $obj){ > $variavel = $obj[0]; > ceil((float)$variavel/100); > $qtdlaco = ceil((float)$variavel/100); > for ($id = 1; $id <= 35; $id++) { > for($L=1; $L < $qtdlaco; $L++) { > for ($P = 0; $P <= 30; $P++) { > $sql = $pdo->prepare("UPDATE tabela2018 SET LIVRO = :LIVRO, POS = :POS, PAGINA = :PAGINA WHERE idtabela2018 = $id"); > $sql->bindValue(':LIVRO', $livro); > $sql->bindValue(':POS', $P); > $sql->bindValue(':PAGINA', $L); > $sql->execute(); > } > } > } >} ?> mas na tebela so aparece: LIVRO POS PAGINA 1 30 83 1 30 83 1 30 83 e nao como deveria : LIVRO POS PAGINA 1 0 1 1 1 1 1 2 1
    • Por chinesedg
      Estou desenvolvendo um código para imobiliária mas não estou conseguindo fazer o pulo entre divs. Usando este código abaixo descaracteriza o layout da página pois o loop pega somente 1 <div class="events-grids"></div> e tem que ser dois sendo que no primeiro pega ids 1 2 3 e o segundo ids 456 e assim por diante. Na imagem penso vocês entenderem o que estou pedindo. Fui claro?
      Código:
      <div class="events">
              <div class="container">
              <?php
                  $conexao = bla bla bla
                      $banco = bla bla bla;
                  if (!$conexao) {
                      die("Connection failed: " . mysqli_connect_error());
                  }
                  $query = "SELECT * FROM imoveis";
                      $result = mysqli_query($conexao, $query);
                      if($result){
                          while($row = mysqli_fetch_array($result)){
                              $ref = $row["ref"];
                              .
                              .
      ?>
                  <div class="events-grids">
                      <div class="col-md-4 events-grid">
                          <div class="events-grid1 hvr-sweep-to-top">
                              <a href="imovel.php"><img src="images/6.jpg" alt=" " class="img-responsive" /></a>
                              <h4><a href="imovel.php"><?php echo "$bairro"; ?></a></h4>
                              <ul>
                                  <li><a href="imovel.php"><span class="glyphicon glyphicon-map-marker" aria-hidden="true"></span><?php echo "$cidade"; ?></a></li>
                              </ul>
                              <p>Quartos: <?php echo "$quartos"; ?> | Suites: <?php echo "$suites"; ?> | Banheiros: <?php echo "$banheiros"; ?> | Vagas: <?php echo "$vagas"; ?> | Condomínio: <?php echo "$condominio"; ?></p>
                              <h4><a href="imovel.php"><?php echo "$preco"; ?></a></h4>
                          </div>
                      </div>
                      
                  <?php
                      }
              }
              ?>
                  </div>            
              </div>
          </div>

    • Por PresleyMenezes
      Olá pessoal, gostaria de saber como copiar o conteúdo de um campo json com muitos pais e filhos e colar em outro campo de pais e filhos do mesmo arquivo json?
       
      agradeço a ajuda de vocês.
      em anexo o arquivo json e o codigo que estou tentando fazer

       

       

       
       
       
       

       

       
×

Informação importante

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