使用etsy API时,json_decode返回undefined / null

时间:2017-06-21 02:31:17

标签: php json api etsy

我正在创建一个使用etsy api显示商店信息的网站。我试图访问重新编写的json字符串的各个值。为此,我需要将返回的字符串转换为对象。我可以看到这样做的唯一方法是json_decode($response_body);,但我似乎无法让它发挥作用。当我使用该函数时,当我尝试获取它的类型时,它返回undefined / NULL。返回的字符串看起来像这样:{"count":3,"results":[{"listing_id":252525252,"state":"active","user_id":1111111,"category_id":1234567,"title":"Title of product","description":"This is a description"}。我做的事情完全错了吗?以下是我使用的代码:

$url = "https://api.etsy.com/v2/shops/shopname/listings/active?api_key=".$apikey;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response_body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (intval($status) != 200) throw new Exception("HTTP $status\n$response_body");
$reponse_fixed = json_decode($response_body);
echo $response_fixed;

1 个答案:

答案 0 :(得分:0)

如果作为参数传递的数据是无效的JSON或为空,则json_decode可以返回null。 因此,请确保响应采用正确的JSON格式