【问题标题】:Kivy: Add JSON Object inside another JSON Object using kivy.storage.jsonstoreKivy:使用 kivy.storage.jsonstore 在另一个 JSON 对象中添加 JSON 对象
【发布时间】:2020-09-11 06:14:25
【问题描述】:

我是 kivy 的新手。我想将 KivyApplication 的设置保存在 JSON 文件中。

我想创建一个这样的 JSON 文件:

{
  "users": [
    {
      "user_name": "person_1",
      "password": "1234"
    },
    {
      "user_name": "person_2",
      "password": "5678"
    }
  ]
}

我在 Kivy API 参考网页 (Kivy JSON Storage Example) 中找到了一个示例。

这是我将多个 JSON 对象添加到主 JSON 对象的解决方案:

JsonStore.py:

from kivy.storage.jsonstore import JsonStore

store = JsonStore('hello.json')

users_list = [{"user_name": "person_1", "password": "1234"},
              {"user_name": "person_2", "password": "5678"}]
# put some values
for u in users_list:
    print(u)
    store.put('users', u)

但是出现这个错误:

store.put('users', u)
TypeError: put() takes 2 positional arguments but 3 were given

有谁知道我在这里做错了什么以及如何使它工作?提前谢谢你...

【问题讨论】:

    标签: python json python-3.x kivy jsonstore


    【解决方案1】:

    结构是由put(object_name, attribute1=value1[, attribute2=value2, ...]) 预定义的。

    要完成你想要的,你必须给users 一个键来保存你的对象列表。

    长话短说,这段代码应该可以工作:

    from kivy.storage.jsonstore import JsonStore
    
    store = JsonStore('hello.json')
    
    users_list = [{"user_name": "person_1", "password": "1234"},
              {"user_name": "person_2", "password": "5678"}]
    
    store.put('users', objects=users_list)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多