json parse那些事

json解析简单么?最近有个这样的需求,就听到类似说法。其实json解析既简单又复杂,简单是因为json定义很简单,就这样几种类型。复杂是不同语言不同场景大量的实现,参考 http://json.org/ 就能发现轮子反复被造出来,是因为场景不同需求不同。

在JavaScript中,JSON.parse(str, reviver) 其实遵循深度优先的后序遍历,这样每个节点只需要操作一次就可以了,否则枝干节点创建以后,在所有叶子结点计算完毕,有可能还要再操作一次(比如添加子节点到自己的children成员里)。

https://zh.wikipedia.org/wiki/%E6%A0%91%E7%9A%84%E9%81%8D%E5%8E%86

http://notes.eatonphil.com/writing-a-simple-json-parser.html

https://news.ycombinator.com/item?id=19214387

https://github.com/v8/v8/blob/master/src/json-parser.h

最近一些杂记

在看一本书,非常不错,《算法之美》,其实是介绍计算机算法与生活中具体问题的关联,比如最优化秘书选择,赢留输变,排序算法与图书馆管理等等,值得入手一本。《算法之美》豆瓣评分:7.4(138人评) https://www.douban.com/doubanapp/dispatch?uri=/book/30155731/