2016-04-24 155 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编辑我的代码,试试。为我工作 –