"Python 不需要 Json 支持库", 今天我如是想到
只要解决了字符串 escape 问题, 任何人都可以手工生成 Json 报文, 而手工生成 Json, 不超过一行代码。
在 Python 中, 不超过一行代码, 就是原子操作, 不需要封装, 比如正则表达式。
这时, 用户能够自己控制系统粒度。在字符串 escape 问题解决的前提下, 随手开发一个 Json 库也是几分钟的事情。
在 Python 中, 几分钟可以搞定的, 不需要封装, 因为只有程序库的作者最熟悉程序库, 既然用户的学习成本大于编写成本那么就让用户去写。
所以, Python 不需要 Json 支持库。
秒杀技, Python JSON Encoder
json = lambda s, encoding = sys.getdefaultencoding(): repr(unicode(s, encoding))[1:]
现在, 我可以在没有提供 Json 支持的 Python 免费主机上建立 Json 应用了。
补注:
据说最后那行代码很容易令人摸不着头脑, 你不妨把 json() 换成 (string) escape() 来理解。
如果你用 escape 来定义这行代码, 你只能得到 escape;
如果你用 json 来命名, 你得到了 JSON。
利用pickle -- Python object serialization 模块也同样的。