簡體   English   中英

解析json.dumps-Python

[英]Parsing json.dumps - Python

我對返回以下JSON的API進行了調用:

{
"trades": [
    {
        "stopLoss": 154.79, 
        "takeProfit": 151.79, 
        "price": 153.784, 
        "side": "sell", 
        "trailingStop": 0, 
        "instrument": "GBP_JPY", 
        "time": "2016-06-21T18:20:24.000000Z", 
        "units": 25, 
        "id": 10297636517, 
        "trailingAmount": 0
    }
]
}

我在解析時遇到了麻煩,因此我只能返回“ id”和“ price”。 由於我尚不了解的原因,我可以在tradeId=response之后添加['trades'] ,這將按預期深入到此。 但我無法將其縮減為“ id”和“ price”。 我該如何解析數據,並且json.dumps是最佳方法? 先謝謝您的幫助!

{
        "stopLoss": 154.79, 
        "takeProfit": 151.79, 
        "price": 153.784, 
        "side": "sell", 
        "trailingStop": 0, 
        "instrument": "GBP_JPY", 
        "time": "2016-06-21T18:20:24.000000Z", 
        "units": 25, 
        "id": 10297636517, 
        "trailingAmount": 0
    }

碼:

response = oanda.get_trades(account_id)

def transactions():
    while response:
        tradeId = response
        ids = tradeId
        line = json.dumps(ids, indent=4)
        print line
        return
print transactions()

您可以使用json.loads()解析json。

import json
response = '{"trades": [{"stopLoss": 154.79, "takeProfit": 151.79, "price": 153.784, "side": "sell", "trailingStop": 0, "instrument": "GBP_JPY", "time": "2016-06-21T18:20:24.000000Z", "units": 25, "id": 10297636517, "trailingAmount": 0}]}'

def transactions():
    json_tree = json.loads(response)
    trade_list = json_tree['trades']
    trade = trade_list[0]
    return (trade['id'], trade['price'])

print transactions()

找出答案。 我只是在嘗試['trades']['id']而不是['trades'][0]['id'] ..謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM