从JSON提取特定数据

逸高

我已经问过这个问题并阅读了许多JSON提取示例,但我仍然无法处理该JSON ... :(我试图仅获取'addr_tag'数据,而没有其他任何信息,我可以轻松获取其他一些信息,但是我不知道正确的语法来获取“ addr_tag”

谢谢!

import json
from urllib.request import urlopen


js1 = urlopen("https://blockchain.info/address/1dice97ECuByXAvqXpaYzSaQuPVvrtmz6?format=json&limit=1").read().decode('utf8')
obj1 = json.loads(js1)

print (obj1['txs']) #I need to know the what to put here instead of 'txs'... 

谢谢!

帕德拉克·坎宁安

它深深嵌套,txs是外键,该值txs是有一个字典的列表,inputs其值也是包含的字典,里面那个字典列表prev_out具有字典作为具有价值addr_tag的关键:

print(obj1["txs"][0]["inputs"][0]["prev_out"]["addr_tag"])

addr_tagsjson中实际上有2个,第二个在下面:

print(obj1["txs"][0]["out"][1]["addr_tag"])

Satoshi Dice Change Address

如果键不总是存在,则可以使用dict.get:

inter = js["txs"][0]
k1 = next((d["prev_out"].get("addr_tag") for d in inter["inputs"] if "prev_out" in d), None)
k2 = next((d.get("addr_tag") for d in inter["out"] if "addr_tag" in d), None)

如果您的json中没有任何密钥,则该值将为None,因此您可以使用if进行检查:

 if k1 is not None:
     .......
 if k2 is not None:
      ................

查看链接,数据和格式会随着运行而不断变化,此函数将递归检查所有dict并提取所有"addr_tag"值:

def rec_get(d, k):
    if isinstance(d, dict):
        if k in d:
            yield d[k]
        else:
            for v in d.values():
                yield from rec_get(v, k)
    elif isinstance(d, list):
        for v in d:
            yield from rec_get(v, k)


print(list(rec_get(js, "addr_tag")))

使用链接json,您可以得到重复了一些键但可以调用set(..而不是列表的方法:

['Satoshi Dice Change Address', 'Satoshi Dice Change Address', 'SatoshiDICE 50%', 'Satoshi Dice Change Address']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从RData文件中提取特定数据

来自分类Dev

从JSON响应中分配特定数据

来自分类Dev

提取d3中的特定数据行

来自分类Dev

Android从JSON获取特定数据

来自分类Dev

从数组中拆分数据并提取特定数据

来自分类Dev

读取CSV文件并提取特定数据

来自分类Dev

Python从响应JSON读取特定数据

来自分类Dev

从嵌套列表中提取特定数据

来自分类Dev

从json提取特定数据并存储在Django的表中

来自分类Dev

使用python从xml提取特定数据

来自分类Dev

从php中的JSON打印特定数据

来自分类Dev

从数据框中提取特定数据

来自分类Dev

从JSON数据访问特定数据(Python)

来自分类Dev

JSON Path如何获取特定数据?

来自分类Dev

Angular,如何从JSON订阅特定数据?

来自分类Dev

从json抓取特定数据

来自分类Dev

访问Json上的特定数据-NodeJS

来自分类Dev

从xml文件中提取特定数据

来自分类Dev

从以下JSON获取特定数据?

来自分类Dev

从HTML表格中提取特定数据或隐藏特定行

来自分类Dev

如何从JSON Weather API中提取特定数据

来自分类Dev

从网页中提取特定数据

来自分类Dev

如何从表中提取特定数据?

来自分类Dev

从JSON数组访问特定数据

来自分类Dev

如何从JSON获取特定数据?

来自分类Dev

从 URL 获取 json 并显示特定数据

来自分类Dev

从文本中提取特定数据

来自分类Dev

如何提取特定数据?

来自分类Dev

从矩阵中高效提取特定数据