【问题标题】:Trouble retrieving data from kivy's jsonstore从 kivy 的 jsonstore 检索数据时遇到问题
【发布时间】:2016-05-24 23:59:24
【问题描述】:

如果密钥包含非 ascii 字符,我在从“.json”文件中检索数据时遇到问题。 为了更好地解释,我想用一个例子来说明这个问题。
假设我想将数据保存到 json 文件中,如下所示

store = JsonStore('example.json')
store.put('André Rose', type = 'sparkling wine', comment = 'favourite')

那我想检索如下

store.get('André Rose')

这会返回一个错误提示:

KeyError: 'Andr\xc3\xa9'

我认为问题出在非 ascii 字符“é”上。 所以我的问题是如何将这样的内容保存到 json 文件中,并在不出现此关键错误的情况下进行检索?

【问题讨论】:

  • 也许我们在存储时对字符串编码不够小心。这可能值得在 kivy github 页面上作为一个问题提出,它可能是一个错误。
  • 感谢您的建议。我刚开了一个github账号,提出了d issue。希望我能尽快得到答复
  • @ inclement 请作为我的解决方法,有没有办法限制对 kivy 的 TextInput 的输入,以便只能输入 ascii 字符。请提供示例代码将非常有帮助

标签: python kivy jsonstore


【解决方案1】:

"在 Python 3 下的 kivy 1.8.0 中存在一个 bug。当您使用 Kivy 1.8.0 和 Python 3 时,URlRequest 无法将传入的数据转换为 JSON。如果您使用这种组合,您需要添加:”(飞利浦,在 Kivy 中创建应用程序)

import json 

data = json.loads(data.decode()) 

我不确定这是否会对您的特定问题有所帮助,但我想我可能会把它扔掉。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多