【问题标题】:How to convert this python data to JSON如何将此 python 数据转换为 JSON
【发布时间】:2021-01-02 06:56:26
【问题描述】:

我想知道如何将此 discord.py 消息 obj 数据转换为 JSON 格式。老实说,我不知道这是什么或做什么。谢谢。

<Message id=0000000000 channel=<TextChannel id=00000000000000 name='general' position=0 nsfw=False news=False category_id=0000000000000000> type=<MessageType.default: 0> author=<Member id=00000000000000 name='membername' discriminator='0000' bot=False nick=None guild=<Guild id=0000000000000000000 name='servername' shard_id=None chunked=False member_count=2>> flags=<MessageFlags value=0>>

【问题讨论】:

  • 我们也不知道。您想要的输出模式是什么?做一些研究并发布代码尝试。阅读这个 -> minimal reproducible example.

标签: python json discord.py


【解决方案1】:

您可以像这样访问Message 实例的不同属性:

message.content  # Whatever was written in the message
message.id  # 112233445566778899
# etc.

然后可以将它们放入字典中,然后写入 json 文件。
作为旁注,您可以只存储message.idmessage.channel.id,然后只存储channel.fetch_message(... 以再次获取对象。这取决于您将存储多少以及是否需要再次获取原始消息对象。

这里简要介绍了存储和读取 json 文件时需要了解的所有内容:

>>> import json

# Creating a dictionary with some values
>>> data = {"foo": "bar", "key": "value"}

# Re-assigning specific values or inserting new ones in
>>> data["baz"] = 1234

# Opening a file and writing to it
>>> with open("db.json", "w+") as fp:
        # The kwargs are purely for beautification, just a preference
...     json.dump(data, fp, sort_keys=True, indent=4)

# Loading in data from a file
>>> with open("db.json", "r") as fp:
...     data = json.load(fp)

# Accessing the values
>>> data["foo"]
'bar'
>>> data["key"]
'value'
>>> data["baz"]
1234

参考资料:

【讨论】:

    【解决方案2】:

    我相信是 YAML。

    试试yaml to json

    结果:

    
    {
      "<Message id=0000000000 channel=<TextChannel id=00000000000000 name='general' position=0 nsfw=False news=False category_id=0000000000000000> type=<MessageType.default": "0> author=<Member id=00000000000000 name='membername' discriminator='0000' bot=False nick=None guild=<Guild id=0000000000000000000 name='servername' shard_id=None chunked=False member_count=2>> flags=<MessageFlags value=0>>"
    }
    

    间距很重要,修改它我从手机上发布了很多困难

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 2014-11-29
      • 2020-09-06
      • 2014-04-15
      • 1970-01-01
      • 2011-09-28
      • 2018-09-16
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多