【IT168技术文档】
背景
由于本人编写的Mobile Radio项目电台信息以XML格式来保存,那些电台配置信息来自于 www.1radio.com.au 网站,该网站把配置数据保存为Json格式,所以编写一个JavaScript程序把这些配置数据信息从Json转换为XML格式。
Mobile Radio项目可以参考:
Windows Mobile和Wince下的WTL(Windows Template Library)开发
Windows Mobile 和 Wince 下的 WTL(Windows Template Library) 界面开发
Windows Mobile和Wince下使用WTL进行Windows Media Player开发
简介
Json数据由于其轻装,易读和方便操作等优点已经被广泛应用于网络服务数据传输。本文从一个实例讲述如何把Json数据转换成XML格式。使用了JavaScript实现。
实现
在 郭靖,winter-cn 和 Tim 同学的帮助下使用JavaScript来实现。
Json数据
下面为来自于 www.1radio.com.au 网站的原Json数据,保存电台信息。关于Json的介绍可以看http://json.org/
Code
排序
由于源数据无序排列,第一步需要进行排序,JavaScript的数组排序(Array.prototype.sort)支持指定排序算法。所以我编写了自己的排序算法,根据我的需求排序,我的排序逻辑是国家,州,城市,lonname的顺序进行排序,代码如下:
function JsonSort(a, b) {
if (a.country == b.country) {
if (a.state == b.state) {
if (a.city == b.city) {
return (a.logname > b.logname);
}
else {
return (a.city > b.city);
}
}
else {
return (a.state > b.state);
}
}
else {
return (a.country > b.country);
}
}
有了排序算法,在排序时只有指导排序算法就可以了。
stations.sort(JsonSort);
执行后stations就排列成我们需要的顺序,为转换做准备。