【问题标题】:Parsing data in a JSON file解析 JSON 文件中的数据
【发布时间】:2018-10-30 23:45:10
【问题描述】:

我想从 JSON 文件中解析一些信息。我找不到成功检索我想要的数据的方法。

在我想输出配置文件名称的文件中。

这是关于我如何阅读和解析的代码。

with open(json_data) as f:
        accounts = dict(json.loads(f.read()))
        shell_script = accounts['OCredit']['Profile Name']
        print(shell_script)

这给了我

的输出
OCredit

从某种意义上说,这就是我想要的,但在应用程序中,现在“OCredit”(第一个括号)的值将取决于用户。

with open(json_data) as f:
        accounts = dict(json.loads(f.read()))
        shell_script = accounts['OCredit']
        print(shell_script)

这个输出:

{'Profile Name': 'OCredit', 'Name': 'Andrew Long', 'Email': 
'asasa@yahoo.com', 'Tel': '2134568790', 'Address': '213 clover ','Zip': 
'95305', 'City': 'brooklyn', 'State': 'NY','CreditCard':'213456759090', 
'EXP': '12/21', 'CVV': '213'}

实际的 JSON 文件是:

{'OCredit': {'Profile Name': 'OCredit',
 'Name': 'Andrew Long',
 'Email': 'asasa@yahoo.com',
 'Tel': '2134568790',
 'Address': '213 clover ',
 'Zip': '95305',
 'City': 'Brooklyn',
 'State': 'NY',
 'CreditCard': '213456759090',
 'EXP': '12/21',
 'CVV': '213'}}

所以,总结一下。我想进入 JSON 文件并打印出“配置文件名称”具有的值,而不对括号的第一个值进行硬编码。

我不确定是否必须更改保存 JSON 文件的方式才能实现此目的。任何帮助,将不胜感激。

【问题讨论】:

    标签: python json python-3.x


    【解决方案1】:

    试试这个:

    for key in accounts:
        print(accounts[key]['Profile Name'])
        # OCredit
    

    或者:

    for value in accounts.values():
        print(value['Profile Name'])
    

    【讨论】:

    • @BigO 第二个也适用于您给定的示例,也许您的用例中还有更多内容?
    猜你喜欢
    • 1970-01-01
    • 2021-05-29
    • 2020-03-08
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多