在Python中对数组进行序列化

3

我正在尝试在MySQL数据库中序列化一个Python数组... 我尝试使用pickle.dump()方法,但它返回字节... 我可以使用什么?谢谢!!

(我正在使用Python 3)


1
你可以使用数据库规范化。 - Ignacio Vazquez-Abrams
Python 3 目前还不支持日常开发,已经在生产项目中使用它也不是一个好主意。 - tiagoboldt
4个回答

5
您可以尝试使用JSON将其转换为字符串,示例代码如下:

import json

v = [1, 2, 4]
s = json.dumps(v)

哦,我以为 JSON 只适用于 Java... 我现在尝试一下,但是如何反序列化呢?谢谢朋友!! - igferne
@igferne:在 Python 网站上有大量的文档资料。 - Ignacio Vazquez-Abrams

1
Pickle是一种二进制序列化,所以你得到的是一个字节字符串。
优点:
- 更紧凑 - 可以表示大多数Python对象。
缺点:
- 字节字符串可能更难处理 - 仅限于Python。
JSON更通用,因此您不必局限于使用Python读取数据。它主要使用ASCII编码,因此更容易处理。缺点是它仅限于数字、字符串、数组和字典。通常足够了,但是即使日期时间也必须在编码之前转换为字符串表示形式。

0

...或者只是

str([1,2,4])

(如果您不一定需要以JSON格式获取数据)


0

MySQL不允许你将这些腌制的字节存储在blob中吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接