<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www./1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>dom练习文件</title> <script type="text/javascript" src="json2.js"></script> <!--ie8以下 火狐3.5以下 没有json全局对象为了兼容低版本引入json2--> <script type="text/javascript"> var box = '[{"name" : "a","age" : 1},{"name" : "b","age" : 2}]'; //特别注意,键要用双引号 //alert(box); //这是把字符串转换成json, //第二个参数位置写一个函数,进行更复杂过滤或者设置 //var json = JSON.parse(box,function(key,value){ // switch(key){ // case "name": // return value+"先生"; // case "age": // return value+"岁"; // default : // return value;} // }); //不是双引号,会报错 //alert(json); //可以这样访问json //alert(json[0].name+"今年是"+json[1].age) //alert(json.length) //------------------------------------------------------------------------ //下边是把js原生值的形式转化成字符串 //var box = [{name : 'a', age : 1,height:188},{name : 'b', age : 2,height:158}]; //JavaScript 原生值 var json = JSON.stringify(box); //可以传递第二个参数,表示要过滤得到想要的json字符串 //var json = JSON.stringify(box,["age","height"]); //还可以在第二个参数位置写一个函数,进行更复杂的过滤 //var json = JSON.stringify(box,function(key,value){ // switch(key){ // case "name": // return value+"先生"; // case "age": // return value+"岁"; // case "height": // return value+"厘米"; // default : // return value; // } // }); //既然json是一个字符串了就可以调用string的方法访问json //alert(json.length) //alert(json.substring(0,10)) //可以设置第三个参数表示打印出来的代码向右的缩进量,用来格式化代码,增强可读性 //var json = JSON.stringify(box,["age","height"],4) //var json = JSON.stringify(box,null,0) 如果不想设置第二个参数直接设置第三个参数中间用null //toJSON方法将首先被执行 var box = [{name : 'a', age : 1,height:188,toJSON:function(){return this.name}},{name : 'b', age : 2,height:158,toJSON:function(){return this.name}}]; //JavaScript 原生值 var json = JSON.stringify(box); alert(json) </script> </head>
<body> 这是文字 </body> </html>
|