【问题标题】:JSON Decoder Error - Expecting ',' delimiter: line 1 column 22 (char 21)JSON 解码器错误 - 需要 ',' 分隔符:第 1 行第 22 列(字符 21)
【发布时间】:2020-12-01 03:07:52
【问题描述】:
print(signupEmail, signupPassword)
signupInfo = str({f'\"{signupEmail}\":{{"password":\""{signupPassword}\", "Username":\"{signupUsername}\"}}'})
signupInfo = signupInfo.replace(".","-")
signupInfo = signupInfo.replace("\'","")
to_database = json.loads(signupInfo)
print((to_database))
requests.patch(url = self.url,json = to_database)
self.strng.get_screen('loginscreen').manager.current = 'loginscreen'

当我尝试运行它时,我得到json.decoder.JSONDecodeError: Expecting ':' delimiter: line 1 column 22 (char 21)

【问题讨论】:

  • 已经查看了很多解决方案,但没有一个适合我。有人可以帮忙吗?
  • 发代码时可以使用代码格式吗?

标签: python json kivy delimiter


【解决方案1】:

首先,当您遇到这样的错误时,我会首先尝试在调试器中单步执行代码,或者至少打印出给您带来麻烦的字符串。如果你这样做了,你会看到 signupInfo 包含:

{"(signupEmail)":{"password":""(signupPassword)", "Username":"(signupUsername)"}}

很明显,密码前有两个引号。如果您修复创建字符串的行,删除双引号,它将起作用:

#                                                    v <--- get rid of extra quote that was here
signupInfo = str({f'\"{signupEmail}\":{{"password":\"{signupPassword}\", "Username":\"{signupUsername}\"}}'})

【讨论】:

  • 谢谢你。这有帮助。 :)
猜你喜欢
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 1970-01-01
  • 2021-09-20
  • 1970-01-01
  • 2013-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多