13.2 Trip-o-matic的数据文件
在开始写代码之前,我们必须先设计出要"喂"给页面的数据文件。数据文件存放于服务器,当页面加载时,会通过Ajax请求传回到客户端,然后客户端代码会解读 文件并创建JavaScript结构体来表达其中所包含的信息。
至于加载哪一个数据文件,可以通过URL上的查询参数来告知应用程序。
13.2.1 我们应该采用什么格式
正如我们在前面几章所看到的,Ajax请求的响应可以采用好几种不同的形式,纯文本、HTML片段、JSON记录或XML文档。那么对于我们的旅行数据来说,哪种格式最合适呢?
旅行数据显然是一组结构化信息,因此首先可以排除纯文本和HTML,前者不能表达数据的结构,后者则是显示格式而不是数据格式 。这样,我们还剩下JSON和XML可以选择。
JSON是一种很不错的记法,因为对于客户程序来说它很容易解读,只要调用一下eval()函数就可以把JSON响应转换成对应的JavaScript结构体。JSON也很容易用程序生成。但是像我们的旅行数据文件这样的需要手工编码大型数据集的情形,JSON就未必是最佳选择了。
JSON记法很紧凑,使用一些简单的字符进行定界,比如用方括号和花括号来表示数组和结构体。嵌套的JSON数据很快就变成天书,看上去就像充满线路噪声的数据流(或者是你养的蜥蜴在键盘上散步)。这样的数据不仅很难以目力解析,而且在修订和追加的时候,也很容易在无意中产生错误。
另一方面,要在客户端JavaScript代码中解读XML,就需要做更多工作,但是XML很适合手工编码,因为有更详尽的标记,人们在检视文档中的数据结构时就较为轻松,这使得数据易于创建、维护和修订。
这样,我们所面对的选择就是:
JSON易于解读,但是不易手工处理。
XML更难解读,但是易于手工处理。
解读数据的代码我们只会写一遍,而旅行数据文件可能要写好多个,所以为了让自己轻松一点,我们选择XML,它简化了执行次数更多的任务。
这倒不是为了偷懒,只是为了做得更聪明!
此外,我们构建应用的方式相当灵活,如果我们的选择不太明智,大可收回这一决定 。
| 回书目 上一节 下一节 |