2016-04-24 121 views
0

所以我有一些相對簡單的JSON我嘗試使用PHP顯示,我陷入困境,我想也許我沒有使用解碼或正確編碼。也許我只是忽略了一些東西。PHP JSON編碼或解碼?

這裏的JSON ...

{ 

    "numFound": 43640, 

    "start": 0, 

    "maxScore": 0.7847167, 

    "docs": [], 

    "facets": {} 

} 

這裏是我的PHP ...

<?php 
$json_returned = file_get_contents("URL_OF_JSON_SOURCE"); 
$decoded_results = json_decode($array, true); 

{ 
    foreach($decoded_results as $results){ 
echo "Number Found:".$results['numFound']."; 
echo "Start:".$results['start']."; 

    } 

} 

?> 

我主要只是想獲得 「numFound」, 「開始」 和 「maxScore」顯示。感謝您的幫助,甚至花時間閱讀這篇文章。

這裏的源JSON .. https://api.data.gov/gsa/fbopen/v0/opps?q=technology&data_source=FBO&limit=1&show_closed=true&api_key=CTrs3pcYimTdR4WKn50aI1GcUxyL9M4s1fyBbSer

+2

其中'$ array'?也許你的意思是'json_decode($ json_returned,true)'? –

+1

爲什麼你的'foreach'包裹在括號裏? – Machavity

+0

以下是源代碼JSON https://api.data.gov/gsa/fbopen/v0/opps?q=technology&data_source=FBO&limit=1&show_closed=true&api_key=CTrs3pcYimTdR4WKn50aI1GcUxyL9M4s1fyBbSer –

回答

0

您不必在給定數據的任何JSON陣列。所以首先你不必循環返回的數據。其次,你只是在循環中忘記雙引號。第三,如果你有任何一個字符串是空的,你不必加入字符串。

這裏是解決方案:

<?php 
$result = json_decode(file_get_contents("sth"), true); 
echo 'Number Found :'.$result["numFound"].'<br/>'; 
echo 'Start :'.$result["start"].'<br/>'; 
+0

工程類型,但將值顯示爲0,以下是它的鏈接應該返回... –

+0

https://api.data.gov/gsa/fbopen/v0/opps?q=cat&data_source=FBO&limit=1&show_closed=true&api_key=CTrs3pcYimTdR4WKn50aI1GcUxyL9M4s1fyBbSer –

0

你的PHP代碼是搞砸

<?php 
$json_returned = file_get_contents("https://api.data.gov/gsa/fbopen/v0/opps?q=technology&data_source=FBO&limit=1&show_closed=true&api_key=CTrs3pcYimTdR4WKn50aI1GcUxyL9M4s1fyBbSer"); 
$decoded_results = json_decode($json_returned, true); 

echo "Number Found:".$decoded_results['numFound']." "; 
echo "Start:".$decoded_results['start']; 
?> 
+0

我給它旋轉,沒有運氣.. –

+0

@JohnChase I編輯我的代碼,試試。爲我工作 –