Python中的API调用,两个不同的JSON字符串

2024-10-16 17:15:30 发布

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

我试图从PYTHON中的各种加密货币交换中调用API。在

这是由以下URL(https://api.mintpal.com/v1/market/stats/uro/BTC)返回的API JSON字符串

[
    {
        "market_id": "210",
        "coin": "Uro",
        "code": "URO",
        "exchange": "BTC",
        "last_price": "0.00399700",
        "yesterday_price": "0.00353011",
        "change": "+13.23",
        "24hhigh": "0.00450000",
        "24hlow": "0.00353010",
        "24hvol": "6.561",
        "top_bid": "0.00374001",
        "top_ask": "0.00399700"
    }
]

我有兴趣得到“最后价格”,我打印它使用以下代码。在

^{pr2}$

到目前为止还不错。但是,我尝试使用以下URL(https://bittrex.com/api/v1.1/public/getmarketsummary?market=btc-uro)对bitrex交换执行相同的操作

返回的JSON字符串如下所示:

{
    "success": true,
    "message": "",
    "result": [
        {
            "MarketName": "BTC-URO",
            "High": 0.00479981,
            "Low": 0.00353505,
            "Volume": 30375.93454693,
            "Last": 0.00391656,
            "BaseVolume": 120.61056568,
            "TimeStamp": "2014-07-29T17:54:35.897",
            "Bid": 0.00393012,
            "Ask": 0.00395967,
            "OpenBuyOrders": 182,
            "OpenSellOrders": 182,
            "PrevDay": 0.00367999,
            "Created": "2014-05-15T05:46:29.917"
        }
    ]
}

这个JSON字符串的结构与前面的不同,我不能使用我的第一个代码来获取值“LAST”。不过,我可以通过打印“stringindex”来解决这个问题,但这不是一个解决方案。在

url = 'https://bittrex.com/api/v1.1/public/getticker?market=btc-uro'
json_obj = urllib2.urlopen(url)
URO_data = json.load(json_obj)

URO_String = str(URO_data)
last_price = URO_String[79:89]

URO_LastPrice = float(last_price)

print last_price

我想在第二个JSON字符串中获取“Last”的值。在


Tags: 字符串httpscomapijsonurltopmarket
2条回答

Json最好被看作是一堆层,您需要通过逐层获取所需的信息。在

您需要获得的第一层是“result”和:

URO_data["result"]

REsult是一个数组,因此需要按索引获取数组中的第一个项

^{pr2}$

从那个对象,你需要得到最后一个条目

URO_data["result"][0]["Last"]

那应该有用,但我还没有测试过。在

你可以像吼叫一样进入

>>>
>>> url = 'https://bittrex.com/api/v1.1/public/getticker?market=btc-uro'
>>> json_obj = urllib2.urlopen(url)
>>> URO_data = json.load(json_obj)
>>> URO_data['result']['Last']
0.00396129
>>>

相关问题 更多 >