博客列表 >常用JSON的收集

常用JSON的收集

小的博客
小的博客原创
2017年12月17日 11:34:33658浏览
<!DOCTYPE html>
<meta charset="UTF-8">
<html>
<head><title></tile></head>
<body>
 <script>
//一,js 中的原型与继承 prototype,
//申请一个对象obj1;向obj1 中添加一些方法和属性
var obj1=new Object();
 obj1.name='Alice';
obj1.getName=function(){
 return this.name;
}

//控制台输出obj1中的方法和属性

console.log(obj1.name);//输出Alice
console.log(obj1.getName);//输出Alice
//申请obj2=new Object();查看obj2 能不能访问obj1 中的属性和方法;
var obj2=new Object();
console.log(obj2.name);//不能访问;这个时候可以用prototype
 obj2.name="Jck";
obj2.getName=function(){
return this.name;
}
console.log(obj2.name);//输出  Jack;
console.log(obj2.getName);//输出 Jack;

//二    将js 数组 转换成 json 字符串:JSON.stringify();

//特点:1,字符串必须使用刷双引号 

 //         2,除字符串外支持数值布尔

   //     3,  自动将undefined 转换成null

   //    4 支持空元素

  //     5,与js 数组一样支持从零开始的索引值来访问

//创建一个js 数组

var str=['php',1,true,null,undefined,''];

//将js数组 转换成json字符串

var  brandjson=JSON.stringfy(str)

//三 :将js对象装换成json 字符串 JSON.stringify();

   //特点:1 索引属性名必须使用双引号

       //     2,如果属性值为字符串必须使用双引号进行包装

//          3,不支持undefined 类型;

//          4,不支持属性为函数的方法和成员;

//        5,键名允许为空;

//创建一个js 对象

var  stu={
    name:'Jack',
   age:18,
salary:none,
'':"PHP中文网",
birthday:nudefined,
 getName:function(){
return this.name
}
}

//将这个Js对象装换成json字符串

var stujson=JSON.stringify(stu);

//在控制台输出,查看json字符串

console.log(stu);

console.log(stujson);

//四,对象与数组的结合;

//创建一个复杂类型的数组

var stz=[{name:'Jack',sex:'male',
               course:[{
                          name:'php',
                         comment:'服务器脚本语言',
                         grade:90
                           },{name:'javacript',comment:'客户端脚本语言',grade:80}]
},{
 name:'zhu',sex:'woman',course:[{
                                                    name:'html',
                                                    comment:'超文本标记语言',
                                                    grade:88
                                                      },{name:'css',comment:'样式层叠',grade:88
                                                   }]
}]

//将复杂类型的数组转换成json字符串

var stzjson=JSON.stringify(stz);

console.log(stzjson)

//五,js 转换惨呼介绍;1,JSON.string()里面可以添加参数,第二个参数是数组/函数,数组(允许转换成对象属性)

//函数(将、属性的键值依次传入进行处理),

 //第三个参数是数字表示json缩进的空格数量/第三个参数还支持自定义缩进字符

var scd={

     name:'Jack',

    sex:'male',

    salary:3000,

     crime:null,

     ismarried:true,

     sexual:undefined,

    myChild:['大宝','二宝']

}

//第二个参数是数字允许转换成对象属性

console.log(JSON.stringify(scd,['name','crime']));

//第二个参数是函数;可以键属性的键值依次传入进行处理;属性前面自动加上了换行符

var resl = JSON.stringify(scd,function(key,value){
   switch(key){
  case  'name':
  return value+'zhu'
  break
 case  'sex':
return value+'我也不确定'
break
case 'salary':
return value+5000
break
case  'ismarried':
return  value+'其实我是骗你的'
break
case 'sexual':
return value+'其实我也不确定'
break
default:
return value
}
})

console.log(JSON.stringify(resl))

//第三个参数表示缩进的空格数量,最大值是10;

console.log(JSON.stringify(resl,null,8))

//六 toJSON方法;

var  stojs={
    name:'Apple',
  age:33,
   salary:3000,
   sexual:undefined,
 toJSON:function(){
  return '我的名字是'+this.name+'我的年龄是'+this.age+'我的工资是'+this.salary
}
}

console.log(JSON.stringify(stojs))//输出toJSON中的方法】

//七 ,转换数据介绍:调用去全局对象JSON的一个方法 JSON.parse()

var scd2={
   name:'Jack',
  ismarried:null,
  age:33,
  sexual:undefined,
crimal:null
}
var jsontext=JSON.stringify(scd2);
var objext1=JSON.parse(jsontext);
console.log(typeof objext1);//输出object1类型
var object2=JSON.parse(jsontext,function(key,value){
   if(key=='ismarried'){
return '婚姻状态保密'
}else{
 return value
}
})
console.log(object2)
</script>
</body>
</html>


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议