用PHP从Json字符串中拉出特定部分

时间:2013-05-06 05:32:06

标签: php mysql json

我正在尝试使用他们的api记录MtGox的活动, 它们提供标准的json字符串http://data.mtgox.com/api/2/BTCUSD/money/ticker

现在这就是我用来将所有内容整理成一个整齐有序的数组

$url = 'http://data.mtgox.com/api/2/BTCUSD/money/ticker';
$json = file_get_contents($url);
$obj = json_decode($json, true);

但是,我无法弄清楚我如何能够提取特定的细节,例如High> Value。 相反,我强迫自己通过以下循环打印出所有内容:

foreach($obj as $arr) {
if (is_array($arr)) {
foreach($arr as $arry) {
if (is_array($arry)) {
            $query_insert_json = "INSERT INTO currency(currency, currentValue, highValue, lowValue) VALUES('USD', '$arry[value]', '12.987', '9.452')";
            $result_insert_json = mysqli_query($dbc, $query_insert_json);
            if (!$result_insert_json) {
                echo 'Query Failed ';
            }   
echo <<<END
<tr>
<td align="center">$arry[value]</td>
<td align="center">$arry[value_int]</td>
<td align="center">$arry[display]</td>
<td align="center">$arry[display_short]</td>
<td align="center">$arry[currency]</td>
</tr>
END;

1 个答案:

答案 0 :(得分:0)

喜欢这个? pull specific details like, High>Value

<?php
$json=file_get_contents("http://data.mtgox.com/api/2/BTCUSD/money/ticker");
$json=json_decode($json,true);

echo $json['data']['high']['value'];
?>

如果您想查找要提取的数据,请在print_r($json)时查看来源,然后查看它:

array

每个缩进都是另一个级别,查看第一级,它是data,然后转到第二级high,最后是value