Como decodificar uma resposta json da API
Estou chamando dados de uma API como esta:
$curl = curl_init();
//adding fields to the curl object to enter the site
curl_setopt($curl, CURLOPT_URL, $my_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
//executing the curl call and getting data back
$jsonStr = curl_exec($curl);
curl_close($curl); // close the connection
print_r($jsonStr);
está funcionando bem, mas o problema é que não consigo decodificar a resposta do json. Estou recebendo algo assim:
[{"id":1,"name":"Books","description":null,"reference":null,"status":"active","category":{"id":"5048","name":"Ventas"},"price":[{"idPriceList":"1","name":"General","type":"amount","price":"200.0000"}],"tax":[]},{"id":2,"name":"pencil","description":null,"reference":null,"status":"active","category":{"id":"5048","name":"Ventas"},"price":[{"idPriceList":"1","name":"General","type":"amount","price":"5000.0000"}],"tax":[]}]
Tentei decodificar isso e chamar um valor como "echo $ code [0] ['name'];" e não consegui, mostra o mesmo array json, então tentei salvar o array json em uma variável como:
$json = '[{"id":1,"name":"Books","description":null,"reference":null,"status":"active","category":{"id":"5048","name":"Ventas"},"price":[{"idPriceList":"1","name":"General","type":"amount","price":"200.0000"}],"tax":[]},{"id":2,"name":"pencil","description":null,"reference":null,"status":"active","category":{"id":"5048","name":"Ventas"},"price":[{"idPriceList":"1","name":"General","type":"amount","price":"5000.0000"}],"tax":[]}]';
e tentei decodificá-lo e funciona, acho que o problema é com aspas simples. Não tenho certeza, mas é o que estou assumindo com base nos resultados que estou obtendo. Eu sou novo no curl, json e php, se alguém puder me ajudar.
A propósito, estou tentando decodificar assim:
$code = json_decode($jsonStr ,true);
echo $code[0]['id'];
mas não está funcionando, ele retorna a mesma matriz json completa e não o valor que estou tentando obter
quando estou tentando fazer eco de $ jsonStr, recebo:
[{"id":1,"name":"Books","description":null,"reference":null,"status":"active","category":{"id":"5048","name":"Ventas"},"price":[{"idPriceList":"1","name":"General","type":"amount","price":"200.0000"}],"tax":[]},{"id":2,"name":"pencil","description":null,"reference":null,"status":"active","category":{"id":"5048","name":"Ventas"},"price":[{"idPriceList":"1","name":"General","type":"amount","price":"5000.0000"}],"tax":[]}]