初识JSON

来源:互联网 发布:windows画图 透明png 编辑:程序博客网 时间:2024/05/29 14:51
    刚到新公司,这两天没啥事,便在网上胡乱转悠,偶然看到一个概念——JSON,没听说过,于是赶紧查之。
    原来JSON是JavaScript Object Notation的简拼,是一种轻量级的数据交换格式,易于人们的阅读和编写,同时也易于机器解析和生成。它是基于 JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等),这些特性使JSON成为理想的数据交换语言。
    以上是我在网上查到的关于JSON的概念。然后又查了一下,发现网上相关资料还挺多的,而且JavaScript默认支持,写个HTML文件就可以在IE底下跑了,于是写了个试例:
<script>
//1.简单的JSON使用
var obj = {msg : "json测试"};
alert(obj.msg);

//2.使用JSON实现js对象
var obj = {
    msg : "json实现对象测试",
    getMsg : function() {alert(this.msg);}
};
obj.getMsg();

//3.使用JSON实现稍复杂的数据
var obj = {
    "head" : {"title" : "json复杂数据测试", "meta" : "数据测试"},
    "body" : [1, 2, 3],
    "test" : "test",
    "number" : 1,
    "boolean" : true
};

//1)通过对象直接调用子元素
alert(obj.head.title);
alert(obj.head.meta);
alert(obj.body[0]);
alert(obj.body[1]);
alert(obj.body[2]);

//2)在不了解文档结构的情况下,通过遍历方式调用子元素
for (t in obj) {
    alert(t);
    if (obj[t] instanceof Object) { //预防元素为简单数据类型的情况,对于简单数据类型,直接输出即可。不过这种方法还不完善,仅供试验用
        for (m in obj[t]) {
            alert(m + obj[t][m]);
        }
    } else {
        alert(obj[t]);
    }
}
</script>
    经过初步试用,感觉JSON与Ruby On Rails所用的配置文件格式YAML很像,也一种文本数据交换格式,使用了键值对的形式。不过更深层次的东西,还有待进一步学习。
    现在已经有Java、C#等多种语言支持JSON,不知道会否像大家说的那样,有朝一日替代XML。不过JSON也不是什么新鲜东西了,之前居然没听说过,忽然觉得自己就一井底之蛙!
原创粉丝点击