【问题标题】: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>>
【问题讨论】:
标签:
python
json
discord.py
【解决方案1】:
您可以像这样访问Message 实例的不同属性:
message.content # Whatever was written in the message
message.id # 112233445566778899
# etc.
然后可以将它们放入字典中,然后写入 json 文件。
作为旁注,您可以只存储message.id 和message.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>>"
}
间距很重要,修改它我从手机上发布了很多困难