php7 的文档中, JSON 扩展已经被 JSOND 取代是什么意思?

2015-12-05 14:03:03 +08:00
 ben548

http://php.net/manual/zh/migration70.incompatible.php , php7 文档中不向后兼容的变更提到的 JSON 扩展已经被 JSOND 取代, JSOND 是什么鬼?

6069 次点击
所在节点    PHP
5 条回复
mcfog
2015-12-05 14:12:13 +08:00
详情

https://wiki.php.net/rfc/jsond
https://bugs.php.net/bug.php?id=63520

简单来说, JSON 的协议( http://www.json.org/license.html )被认为不属于自由的开源协议,导致很多源当中的 PHP 都无法内置 json 模块(需要额外安装,比如`apt-get install php5-json`)

参考
https://wiki.debian.org/qa.debian.org/jsonevil

八卦
Douglas 是 JSON 发明人,蝴蝶书作者
https://en.wikipedia.org/wiki/Douglas_Crockford#.22Good.2C_not_Evil.22
和社区吵的不要不要的
ben548
2015-12-05 14:24:53 +08:00
@mcfog 什么意思?不是自 PHP 5.2.0 起, JSON 扩展就默认内置并编译进了 PHP 吗?为什么会出现一个 jsond ? jsond 和 json 有什么区别啊?文献太多太长了。。。
mcfog
2015-12-05 14:39:17 +08:00
@ben548 JSON 原作者定的协议当中有一句被社区认为违反自由原则的描述( GNU 、 debian 、 fedora 、红帽等等均如此认定)

The Software shall be used for Good, not Evil.

所以这些代码是无法进入多数主流发行版的软件源里的,默认配置的源里都不会有 JSON 库的代码的, PHP 也一样,即使默认的编译配置是带 json 的,但放到源里的版本不能包括 JSON

所以有人写了个 jsond 来取代 json
Khlieb
2015-12-05 15:01:56 +08:00
@mcfog 谁能保证能“ not Evil ”?!
Zzzzzzzzz
2015-12-05 15:07:29 +08:00
从来没额外安装过 php5-json, 刚看了下发现原来 php5-common 依赖 php5-json, 只要装到 php 就会自动把 php5-json 给装了, 只想说城会玩.....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241335

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX