【www.gdgbn.com--js教程】

json。本质就是键值对。是网页特效对象的序列化,是一个字符串,是一个数组。【js中,字符串是对象,数组是对象,类也是对象,一切皆对象】

json(javascript object notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于javascript(standard ecma-262 3rd edition - december 1999)的一个子集。 json采用完全独立于语言的文本格式,但是也使用了类似于c语言家族的习惯(包括c, c++, c#, java, javascript, perl, python等)。这些特性使json成为理想的数据交换语言

<script>
function a(){
    var str = "{"error":"error here!hello!"}" ;
    var jsonobject = eval("("+str+")") ;
    alert(jsonobject.error) ;
}
</script>
test

下面看个简单的实例

{date:1999-9-9,x:100,y:100}, [["张三","20"],["李四","30"]];  这就是json。本质就是键值对。是javascript对象的序列化,是一个字符串,是一个数组。【js中,字符串是对象,数组是对象,类也是对象,一切皆对象】

<script language="javascript">
var menu1 =
{
"a":{title:"1"},//在js中,键值有没有双引号都无所谓,不是错误,语法就是这么规定的。
b:{"title":"2"},
c:{title:"3"},
d:{title:4}
}
alert(menu1.a.title);
for(var x in menu1)
{
        document.write(x.tostring()+"
");       
        document.write(menu1[x].title+"
");       
        document.write("
==================
");
}
</script>

好了现在提供一款官网的写法

string.prototype.parsejson = function () {    try {        return !(/[^,:{}[]0-9.-+eaeflnr-u nrt]/.test(                this.replace(/"(.|[^"])*?"/g, ""))) &&            eval("(" + this + ")");    } catch (e) {        return false;    }};

 

本文来源:http://www.gdgbn.com/wangyezhizuo/27942/