注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蜻蜓点水 举重若轻

君子终日乾乾

 
 
 

日志

 
 

秒杀技 Python JSON Encoder  

2007-01-18 11:17:15|  分类: Python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


"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。
  评论这张
 
阅读(9046)| 评论(10)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017