私はetsy APIを使用してショップ情報を表示するウェブサイトを作成しています。私はretruned json文字列の個々の値にアクセスしようとしています。これを行うには、返された文字列をオブジェクトに変換する必要があります。私はこれを行うために見ることができる唯一の方法はjson_decode($response_body);
ですが、私はこれを動作させるように見えることはできません。関数を使用すると、型を取得しようとすると未定義/ NULLが返されます。返される文字列は、{"count":3,"results":[{"listing_id":252525252,"state":"active","user_id":1111111,"category_id":1234567,"title":"Title of product","description":"This is a description"}
のようになります。私が何か完全に間違っていることはありますか?ここで私が使用しているコードは次のとおりです。引数として渡されたデータが無効なJSONまたは空の場合はnullを返しetsy APIを使用している場合、json_decodeは未定義/ nullを返します
$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;
JSON文字列全体か、それとも単なる断片ですか?フラグメントとして、有効なJSONではありません。少なくとも、クローズ ']'がありません。 –
'var_dump($ response_body)'からの出力をポストします(空白が保存されるようにページソースからコピーされます)。 –
@MichaelBerkowskiうん、それは申し訳ありませんが有効ではありません。私はちょうどそれを手で入力しようとしました。 – McMatt