python - 使用 python 从 JSON 文件中解析数据并检查它

标签 python json

我有一个 JSON 文件只有这个:

 {
  "jeff": {

   }
 }

我想检查我是否在我的输入中输入了名字 jeff 它只会打印 123 我在 python 中以这种方式尝试过:

import json
from pprint import pprint

with open('users.json') as f:
    data = json.load(f)

print("Hi, would you like to  sign up or login?")
print("Type Login for login and Signup to signup")

option= input()

if option == "Login":
    unameEntry = input("Please Enter Your Username")
    if unameEntry == data[unameEntry] :
        print("123")

但它没有找到我在谷歌上四处寻找并努力寻找答案

最佳答案

怎么了

当您访问字典中的值时:

data[unameEntry]

字典返回 data[unameEntry] 的值。假设,正如您在示例中设置的那样,用户键入 "jeff":按照您的示例,字典将返回相应的值,在您的示例中是一个空字典。

因此你的 if 实际上在做:

"jeff" == {}

这显然是错误的

如何修复

您很可能想检查用户是否是字典中的键。您可以使用 in 运算符来执行此操作:

unameEntry in data

编辑代码

由于我们无法访问您的 users.json 文件,所以让我们在代码中包含字典。此外,为了检测输入处理中是否发现错误,我将通过几个断言并展开条件树:

data = {
    "jeff": {}
}

print("Hi, would you like to  sign up or login?")
print("Type Login for login and Signup to signup")

option= input()

assert option == "Login"

if option == "Login":
    unameEntry = input("Please Enter Your Username")
    assert unameEntry == "jeff"
    if unameEntry in data:
        print("Welcome %s!" % unameEntry)
    else:
        print("Username %s does not exist" % unameEntry)

关于python - 使用 python 从 JSON 文件中解析数据并检查它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51340977/

相关文章:

javascript - 如何在不解析的情况下在javascript中同步包含JSON数据?

Python函数返回.py文件的内容

python - 在运行时更改数据框的列名称

python - 使用 Python Scipy Minimize 优化运输成本流

json - 通过动态 @JsonIgnore 注释按需延迟加载

javascript - 如何 JSON.parse 对象使对象成为类的实例?

C# 返回一个变量子类的列表?

javascript - 显示MySQL数据库中行的统计结果并在ChartJs中显示

python - 使用 pandas 过滤 excel 工作表中的条件格式

python - 如何使用Vimba SDK使Allied Vision相机的帧速率恒定?