此随笔纯粹是为了记住S-expression这个名词。
S-expression有各种实现形式,这里只讨论SXML形式。
假如XML是这样的
<c>
text1
<e name="awesome">text2</e>
<e>text3</e>
</c>
那JSON就可以是这样的
{
"c":
{
"#text": "text1",
"e": {"@name": "awesome", "#text": "text2"},
"e": "text3"
}
}
那SXML就是这样的
(c "text1"
(e (@ (name "awesome")) "text2")
(e "text3))
lisp特性使其相当简洁。
之前有看到其他博客说s-exp不能很好的表达Hashtable,后面也回帖了说在不同的实现中有各自不同的解决方法,这不能算是大问题。
如果服务端用Common Lisp或Scheme,完全可以尝试s-exp来做数据格式,最关键是太性感了~~