从JSON数组中提取并显示一个值

2024-05-17 13:06:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Coindesk JSON API获取最新的比特币汇率。在

http://api.coindesk.com/v1/bpi/currentprice/GBP.json

我想显示汇率,例如:“284.0493”在我的网站页面上的纯文本。从JSON数组中提取正确的值并将其显示在htmldiv中的正确方法是什么?在

任何使用JavaScript、PHP甚至Python的解决方案都可以。在

到目前为止,我一直在this工作。在

谢谢!在


Tags: comapijsonhttp汇率网站页面v1
2条回答

假设json数据存储在python的json_text中,您可以

import json
json.loads(json_text).get('bpi').get('USD').get('rate')

如果数据对您很重要,您应该检查错误。另外,让货币可配置可能是个好主意。在

首先,所讨论的json数据不是数组而是对象!在

可视化任何json数据的一个简单方法就是这样做

<?php
$j = '{"time":{"updated":"Oct 26, 2015 12:54:00 UTC","updatedISO":"2015-10-26T12:54:00+00:00","updateduk":"Oct 26, 2015 at 12:54 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","bpi":{"USD":{"code":"USD","rate":"283.9203","description":"United States Dollar","rate_float":283.9203},"GBP":{"code":"GBP","rate":"185.0732","description":"British Pound Sterling","rate_float":185.0732}}}';

print_r( json_decode($j) );

在这种情况下会产生:

^{pr2}$

这很简单地告诉你a)它是一个对象,它的属性也是对象等,b)如何引用对象中的任何属性。在

所以为了得到你想要的汇率,我会这样做:

<?php
$j = '{"time":{"updated":"Oct 26, 2015 12:54:00 UTC","updatedISO":"2015-10-26T12:54:00+00:00","updateduk":"Oct 26, 2015 at 12:54 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","bpi":{"USD":{"code":"USD","rate":"283.9203","description":"United States Dollar","rate_float":283.9203},"GBP":{"code":"GBP","rate":"185.0732","description":"British Pound Sterling","rate_float":185.0732}}}';

$bitExchange = json_decode($j);

// the GBP exchange rate will be
echo $bitExchange->bpi->GBP->rate;
// or if you prefer
echo $bitExchange->bpi->GBP->rate_float;

相关问题 更多 >