奇怪的嵌套字典

问题描述

我正在尝试访问嵌套的字典,问题是字典中的每个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的徽标和符号。

解决方法

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

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']

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...