Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7830454
  • 博文数量: 92
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 5216
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-15 17:17
文章分类

全部博文(92)

文章存档

2011年(1)

2008年(91)

我的朋友

分类: 系统运维

2008-04-24 14:18:41

"Json 不需要 decoder", 在第一次见到 Json 的时候我如是想到

如果 Json decoder 对宿主有安全隐患, 那么是可以抛弃的, 服务器毕竟不是客户机。
如果我们能让 Json decoder 完全安全, 我们已经损失了太多效率, 服务器毕竟不是客户机。
所以, Json 不需要 decoder。

"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。
阅读(1092) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~