JSONデータを取得してWebアプリケーション内に戻すための外部API呼び出しをしようとしています。ここで PHP Jsonの値が外部API呼び出しから解析されない
は、データがAPI呼び出しから次のようになります。 :{
"results":[
{
"name":"Company1",
"ProviderName": "ProviderName1",
"ProviderLogo": "/images/some_image1.jpg",
"GetURL": "/some_url_path",
"Costs": 10000.50
},{
"name":"Company2",
"ProviderName": "ProviderName2",
"ProviderLogo": "/images/some_image2.jpg",
"applyURL": "/some_url_path",
"Costs": 12000.50
}]
}
は、私はPHPを使用しておりますので、私は次のコードを使用しています:JSONはURLから返さ
$api_data = file_get_contents('MY URL'); // Had to use 'encoded_json()' since 'json_decode()' was initially returning NULL $encoded_json = json_encode($api_data); $decoded_json = json_decode($encoded_json); // Now I want to get the specific values from the JSON result but nothing is being returned // I tried using something like this but I'm not getting anything foreach($decoded_json->results as $mydata) { echo 'Decoded Name: ' . $mydata->name . "\n"; }
ご協力いただきありがとうございます。
EDIT:
したがって、この実際に起こっていたと私は私が実際に最初の場所でエラーをオフに投げていたものを含んでいなかったので、今は、事前にすべての人に謝罪するつもりだ何!
私はJSON Lintを使用し、受け取っていたAPI Jsonデータをすべて入れました。エラーが発生した場所がわかりました。
エラー:
"SomeCostUpper": $some_variable.rawUpperCost
私は有効なJSONを使用して、私のPHPコードをテストし、問題なく結果を返すことができました。
誰もが、私は本当に混乱のために申し訳ありませんが、あなたの努力のおかげで!
彼らは間違ったJSONを構築する...あなたはそれらを連絡することができますか?彼らは、コストの値の終わりから、を削除する必要があります... "コスト":10000.50、 – shushu304
@ shushu304それは実際に私の部分のtypoだった。私はこの記事のJSONデータを編集しました。 –
@ JeffP。それが問題でない場合は、JSONをデコードする前にエンコードする必要はありません。その行を削除し、JSONをデコードするだけでスクリプトが機能します。 –