total de páginas e total de produtos em json como paginar pelo retorno json?
#1
Postou 27 Fev 2012 - 16:22
Seguinte, na pesquisa em xml é retornado o total de páginas e de produtos, muito bem.
Já em json, ele não retorna? Como paginar? se não consegui ver o retorno do número de produtos e de páginas?
Se alguém souber, help-me.
Obrigado a todos
#2
Postou 27 Fev 2012 - 16:25
Linkin Man, em 27 Fev 2012 - 16:22, disse:
Seguinte, na pesquisa em xml é retornado o total de páginas e de produtos, muito bem.
Já em json, ele não retorna? Como paginar? se não consegui ver o retorno do número de produtos e de páginas?
Se alguém souber, help-me.
Obrigado a todos
Lembrando que já montei o layout com todos os produtos, preço, descrição. Só falta paginar.
Thanks
#3
Postou 27 Fev 2012 - 16:45
Linkin Man, em 27 Fev 2012 - 16:22, disse:
Já em json, ele não retorna? Como paginar? se não consegui ver o retorno do número de produtos e de páginas?
Se alguém souber, help-me.
Linkin,
Retorna sim. Olha esse exemplo:
http://sandbox.buscape.com/service/findProductList/3655794f644a636f6d6f6f3d/br/?categoryId=6058&keyword=xbox&format=json
Está lá no final:
"page":1,"totalresultsavailable":14,"totalpages":1,"match":"all","totalresultsreturned":14
#4
Postou 27 Fev 2012 - 18:26
Eneas Gesing, em 27 Fev 2012 - 16:45, disse:
Retorna sim. Olha esse exemplo:
http://sandbox.buscape.com/service/findProductList/3655794f644a636f6d6f6f3d/br/?categoryId=6058&keyword=xbox&format=json
Está lá no final:
"page":1,"totalresultsavailable":14,"totalpages":1,"match":"all","totalresultsreturned":14
Obrigado pela ajuda, é que estou usando @json_decode, daí não aparece.
Eu tenho que tirar o decode? Se eu tiro ele dá erro na minha programação, aí tudo que eu fiz foi perdido.
Tem como usando @json_decode?
#5
Postou 28 Fev 2012 - 10:06
Linkin Man, em 27 Fev 2012 - 18:26, disse:
Eu tenho que tirar o decode? Se eu tiro ele dá erro na minha programação, aí tudo que eu fiz foi perdido.
Tem como usando @json_decode?
Linkin,
Funciona normalmente com json_decode do PHP, inclusive uso em várias aplicações. Manda o trecho de código para avaliarmos.
#6
Postou 28 Fev 2012 - 10:33
Eneas Gesing, em 28 Fev 2012 - 10:06, disse:
Funciona normalmente com json_decode do PHP, inclusive uso em várias aplicações. Manda o trecho de código para avaliarmos.
Então, estou usando exatamente como da estrutura abaixo.
Somente se eu comentar a o trecho: //$produtos = @json_decode($produtos)->product; que ele vai mostrar os totais, mas daí eu teria que reescrever toda minha programação..
Já neste código que estou utilizando abaixo ele não trás os totais..
segue o código:
require_once 'Apiki_Buscape_API.php';
$applicationID = '564771466d477a4458664d3d';
$sourceID = '';
$objBuscaPeApi = new Apiki_Buscape_API( $applicationID, $sourceID );
$objBuscaPeApi->setSandbox();
$objBuscaPeApi->setFormat('json');
$produtos = $objBuscaPeApi->findProductList(array('keyword' => 'celular'));
$produtos = @json_decode($produtos)->product;
print_r($produtos);
#7
Postou 28 Fev 2012 - 10:47
Linkin Man, em 28 Fev 2012 - 10:33, disse:
segue o código:
require_once 'Apiki_Buscape_API.php';
$applicationID = '564771466d477a4458664d3d';
$sourceID = '';
$objBuscaPeApi = new Apiki_Buscape_API( $applicationID, $sourceID );
$objBuscaPeApi->setSandbox();
$objBuscaPeApi->setFormat('json');
$produtos = $objBuscaPeApi->findProductList(array('keyword' => 'celular'));
$produtos = @json_decode($produtos)->product;
print_r($produtos);
Isso é porque os totais estão um nível acima do que você está imprimindo em print_r().
Muda para a seguinte forma:
<?php
require_once 'Apiki_Buscape_API.php';
$applicationID = '564771466d477a4458664d3d';
$sourceID = '';
$objBuscaPeApi = new Apiki_Buscape_API( $applicationID, $sourceID );
$objBuscaPeApi->setSandbox();
$objBuscaPeApi->setFormat('json');
$retorno = $objBuscaPeApi->findProductList(array('keyword' => 'celular'));
$retorno = @json_decode($retorno);
$page = $retorno->page;
$totalresultsavailable = $retorno->totalresultsavailable;
$produtos = $retorno->product;
//etc...
print_r($retorno);
?>
#8
Postou 28 Fev 2012 - 10:55
Eneas Gesing, em 28 Fev 2012 - 10:47, disse:
Muda para a seguinte forma:
<?php
require_once 'Apiki_Buscape_API.php';
$applicationID = '564771466d477a4458664d3d';
$sourceID = '';
$objBuscaPeApi = new Apiki_Buscape_API( $applicationID, $sourceID );
$objBuscaPeApi->setSandbox();
$objBuscaPeApi->setFormat('json');
$retorno = $objBuscaPeApi->findProductList(array('keyword' => 'celular'));
$retorno = @json_decode($retorno);
$page = $retorno->page;
$totalresultsavailable = $retorno->totalresultsavailable;
$produtos = $retorno->product;
//etc...
print_r($retorno);
?>
Agora sim, valeu Eneas, muito obrigado!
#9
Postou 28 Fev 2012 - 11:02
Linkin Man, em 28 Fev 2012 - 10:55, disse:
Linkin,
Uma forma de evitar esse tipo de percalço, é usar o JSON Editor. É só colar o resultado do JSON do Buscapé na caixinha e clicar em "build tree". Uma árvore vai ser gerada.
Evita que você se perca nos resultados. Se você clicar nos itens da árvore ele indica o caminho até o item.
Abraço!
#10
Postou 28 Fev 2012 - 12:37
Eneas Gesing, em 28 Fev 2012 - 11:02, disse:
Uma forma de evitar esse tipo de percalço, é usar o JSON Editor. É só colar o resultado do JSON do Buscapé na caixinha e clicar em "build tree". Uma árvore vai ser gerada.
Evita que você se perca nos resultados. Se você clicar nos itens da árvore ele indica o caminho até o item.
Abraço!
Muito boa essa dica Eneas, ajuda muito, nem sabia que tinha essa tool.
Valeu, Muito Obrigado
Tks












