python - 如何将 Python 字典序列化为字符串,然后再返回字典?

标签 python string list serialization dictionary

如何将 Python 字典序列化为字符串,然后再返回字典?字典里面会有列表和其他字典。

最佳答案

这取决于你想用它做什么。如果你只是想保存它,你应该使用 pickle (或者,如果您使用的是 CPython 2.x,cPickle 会更快)。

>>> import pickle
>>> pickle.dumps({'foo': 'bar'})
b'\x80\x03}q\x00X\x03\x00\x00\x00fooq\x01X\x03\x00\x00\x00barq\x02s.'
>>> pickle.loads(_)
{'foo': 'bar'}

如果你想让它可读,你可以使用 json :

>>> import json
>>> json.dumps({'foo': 'bar'})
'{"foo": "bar"}'
>>> json.loads(_)
{'foo': 'bar'}
然而,

json 支持的内容非常有限,而 pickle 可以用于任意对象(如果它不能自动工作,则该类可以定义 __getstate__ 以精确指定它应该如何腌制)。

>>> pickle.dumps(object())
b'\x80\x03cbuiltins\nobject\nq\x00)\x81q\x01.'
>>> json.dumps(object())
Traceback (most recent call last):
  ...
TypeError: <object object at 0x7fa0348230c0> is not JSON serializable

关于python - 如何将 Python 字典序列化为字符串,然后再返回字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342176/

相关文章:

python - pysqlcipher 安装 - SyntaxError : Missing parentheses in call to 'print'

java - 恢复两个字符串之间的错误字符

javascript - jsonObject 是一个字符串 - 如何转换为 json?

string - 在 Rust 中将 ascii 字符串文字转换为 &[u8]?

CSS - 文本溢出 : ellipsis causes <li>'s number to disappear

python - 如何添加复制某些列的新行,但在其他列中分配新值

python - Pandas:如果另一列为空则创建一个新列

Python正则表达式字符串匹配?

python - 根据条件将数据帧转换为元组列表

python - 对有限集中的符号列表进行编码的最紧凑方法是什么?