【问题标题】:How to print clean string from JSON list // Dict?如何从 JSON 列表中打印干净的字符串 // 字典?
【发布时间】:2020-04-09 06:22:42
【问题描述】:

所以我有一些问题要找到如何从 JSON 列表中打印一个干净的字符串 // Dict 文件。 我尝试了 .join、.split 方法,但它似乎不起作用。谢谢大家的帮助

我的代码:

import json

with open("user.json") as f:
    data = json.load(f)

for person in data["person"]:
    print(person)

JSON 文件

{
  "person": [
    {
      "name": "Peter",
      "Country": "Montreal",
      "Gender": "Male"
    },
    {
      "name": "Alex",
      "Country": "Laval",
      "Gender": "Male"
    }
  ]
}

打印输出(这不是我想要的正确格式)

{'name': 'Peter', 'Country': 'Montreal', 'Gender': 'Male'}
{'name': 'Alex', 'Country': 'Laval', 'Gender': 'Male'}

我希望输出打印格式是这样的:

Name: Peter
Country: Montreal
Gender:Male

【问题讨论】:

    标签: python json string list dictionary


    【解决方案1】:

    如果您想打印人员字典中的所有属性(没有例外),您可以使用:

    for person in data["person"]:
        for k, v in person.items():
            print(k, ':', v)
    

    【讨论】:

      【解决方案2】:

      您可以使用它们的键访问值,如下所示

      import json
      
      with open("user.json") as f:
          data = json.load(f)
      
      for person in data["person"]:
          print(f'Name: {person["name"]}')
          print(f'Country: {person["Country"]}')
          print(f'Gender: {person["Gender"]}')
      

      结果:

      Name: Peter
      Country: Montreal
      Gender: Male
      Name: Alex
      Country: Laval
      Gender: Male
      

      【讨论】:

        【解决方案3】:
        for person in data["person"]:
            print(f"Name: {person['name']}")
            print(f"Country: {person['Country']}")
            print(f"Gender: {person['Gender']}")
        

        对于python3.6+

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-06-19
          • 2017-08-20
          • 1970-01-01
          • 2019-10-26
          • 1970-01-01
          • 2014-05-06
          • 1970-01-01
          相关资源
          最近更新 更多