奇怪的嵌套字典

时间:2020-10-13 08:01:24

标签: python json python-3.x dictionary nested

我正在尝试访问嵌套的字典,问题是字典中的每个obj都有一个不同的数字,其中有一个键,里面的键也一样,这是json来源:

<div class="empt-container-cta">
    <a class="btn" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>">
                         <?php esc_html_e('your cart is empty Go Shopping') ?> <i class="ion ion-right ion-ios-arrow-forward"></i>
    </a>
</div>

我正在尝试访问符号和徽标,但我只能通过键入1个obj来做到这一点

{
    "100": {
        "status": {
            "timestamp": "2020-10-12T23:24:26.146Z",
            "error_code": 0,
            "error_message": null,
            "elapsed": 19,
            "credit_count": 1,
            "notice": null
        },
        "data": {
            "100": {
                "id": 100,
                "name": "Particle",
                "symbol": "PRT",
                "category": "coin",
                "description": "/`enter code here`",
                "slug": "particle",
                "logo": "https://s2.coinmarketcap.com/static/img/coins/64x64/100.png",
                "subreddit": "",
                "notice": "",
                "tags": ["mineable"],
                "tag-names": ["Mineable"],
                "tag-groups": ["OTHER"],
                "urls": {
                    "website": ["http://www.bitparticle.com/"],
                    "twitter": [],
                    "message_board": [],
                    "chat": [],
                    "explorer": ["http://chaincollider.bitparticle.com/chain/Particle/"],
                    "reddit": [],
                    "technical_doc": [],
                    "source_code": [],
                    "announcement": []
                },
                "platform": null,
                "date_added": "2014-01-22T00:00:00.000Z",
                "twitter_username": "",
                "is_hidden": 0
            }
        }
    }

我的最终目标是拥有一个完整的列表,其中包含每个obj的徽标和符号。

1 个答案:

答案 0 :(得分:0)

您可以仅循环访问字典中的键,然后访问这些键后面的值:

for k1 in json_file:
    for k2 in json_file[k1]["data"]:
        symbol = json_file[k1]["data"][k2]["symbol"]
        ...

如果只想列出所有符号,还可以使用嵌套列表理解:

>>> [json_file[k1]["data"][k2]["symbol"] for k1 in json_file for k2 in json_file[k1]["data"]]
['PRT']
相关问题