json格式的javascript对象用法分析


Posted in Javascript onJuly 04, 2016

本文实例分析了json格式的javascript对象用法。分享给大家供大家参考,具体如下:

格式:

objectName = {
 property1:value1,
 property2:value2,
 …,
 propertyN:valueN
}

property是对象的属性 ,value则是对象的值,值可以是字符串、数字或对象三者之一

例一: 值为字符串和数字

var user={
 name:"user1",
 age:18
};

例二:值为字符串和对象

var user={ //user本身是一个对象
 name:"user1",
 job:{ //job也是一个对象
  salary:3000,
  title:programmer
 }
}

例三:值还可以为函数

var user={ //user本身为一个对象
 name:"user1",
 age:18,
 getName:function(){ //getName为方法
  return this.name;
 }
}

以下ZPVisitor类的定义格式在实际企业项目中经常被使用:

var ZPVisitor = {
 init : function(){
  var url = ZPConstant.AJAX_SERVER + "&a=hello" + "&sid=" + Math.random();
  $.getJSON(url,function(result){ // #TODO 跨域请求?
   if (result.done) {
    var logininfo = result.data.name + " 您好!";
    if (!result.data.login) {
    logininfo += " <a href=\"" + ZPConstant.MYZP_DOMAIN + "index.php?c=member&a=login\">登录</a>/<a href=\"" +
    ZPConstant.MYZP_DOMAIN + "index.php?c=member&a=regist\">注册</a>";
    } else {
    logininfo += " <a href=\"" + ZPConstant.MYZP_DOMAIN + "index.php?c=member&a=logout\">注销</a>";
    }
    $("#login-info").html(logininfo);
   } else {
    popAlert(result.msg);
   }
  }); //结束getJSON
 }, //结束init方法
 // 收藏商品
 collect : function(pid) {
   var pid = parseInt(pid);
   if (isNaN(pid)) return false;
   var url = ZPConstant.AJAX_SERVER + "&a=collect&pid=" + pid + "&sid=" + Math.random();
   $.getJSON(url,function(result){
    if(result.done){
     popAlert(result.msg);
    } else {
     popAlert(result.msg);
    }
   });//结束getJSON方法
 },// 结束collect方法
 // 浏览历史
 vHistory :{
  get:function(callback){
   var items_str = getCookie(ZPConstant.VIEW_HISTORY_CKNAME);
   if (items_str == null) return;
   var items = items_str.split(",").reverse().join(","),
   url = ZPConstant.AJAX_SERVER + "&a=viewHistory" + "&items="+ items + "&sid=" + Math.random();
   // TODO 向服务端请求数据
   $.getJSON(url,function(response){
     if(response.done){
      callback(response.data,items);
    } else {
      return false;
    }
   });//结束getJSON方法
  },//结束get方法
  add:function(pid){
   var pid = parseInt(pid);
   if (isNaN(pid)) return;
   var cookieStr = getCookie(ZPConstant.VIEW_HISTORY_CKNAME);
   if (cookieStr) {
    var pids = cookieStr.split(","),_tempPids = [];
    for (var i=0;i<pids.length;i++){
     if (pids[i] != pid) { // 如果已经存在,则移除之前写入的数据
      _tempPids.push(parseInt(pids[i]));
     }
    }
    _tempPids.push(pid);// 将新数据放到数组最后
    setCookie(ZPConstant.VIEW_HISTORY_CKNAME, _tempPids.reverse().slice(0,5).reverse().join(","));
   } else {
    setCookie(ZPConstant.VIEW_HISTORY_CKNAME, pid);
   }
  },// 结束add方法
  clear:function(){
    setCookie(ZPConstant.VIEW_HISTORY_CKNAME, '', -100);
  }
 },//结束vHistory
 // 购物车已删除的商品记录
 dropHistory: function(spid){
  var cookieStr = getCookie(ZPConstant.CARTDEL_CKNAME);
  if (cookieStr){
   var idsDel = cookieStr.split(",");
   for (var i=0;i<idsDel.length;i++){
     idsDel[i] = parseInt(idsDel[i]);
   }
   if ($.inArray(spid,idsDel) == -1){
    idsDel.push(spid);
    setCookie(ZPConstant.CARTDEL_CKNAME, idsDel.join(","));
   }
  } else {
   setCookie(ZPConstant.CARTDEL_CKNAME, spid);
  }
 }//结束dropHistory
}//结束ZPVisitor

PS:这里再为大家推荐几款json在线工具,相信大家在今后的开发中可以用得到:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.3water.com/code/json

JSON在线格式化工具:
http://tools.3water.com/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.3water.com/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.3water.com/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.3water.com/code/ccode_html_css_json

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript类和继承 prototype属性
Sep 03 Javascript
Jquery AJAX POST与GET之间的区别
Nov 14 Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
利用nvm管理多个版本的node.js与npm详解
Nov 02 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
Jan 10 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 02 Javascript
JavaScript中Dom操作实例详解
Jul 08 Javascript
JS实现简易贪吃蛇游戏
Aug 24 Javascript
JS实现刷新网页后之前浏览位置保持不变示例详解
Aug 14 Javascript
jQuery简单动画变换效果实例分析
Jul 04 #Javascript
Node.js Streams文件读写操作详解
Jul 04 #Javascript
jQuery文字提示与图片提示效果实现方法
Jul 04 #Javascript
jQuery实现的导航下拉菜单效果
Jul 04 #Javascript
表单中单选框添加选项和移除选项
Jul 04 #Javascript
jQuery实现简单倒计时功能的方法
Jul 04 #Javascript
jquery设置表单元素为不可用的简单代码
Jul 04 #Javascript
You might like
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
Python中的random()方法的使用介绍
2015/05/15 Python
Python中property属性实例解析
2018/02/10 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
Python求凸包及多边形面积教程
2020/04/12 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python Http请求json解析库用法解析
2020/11/28 Python
财务部岗位职责
2013/11/19 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
计划生育汇报材料
2014/12/26 职场文书
社区重阳节活动总结
2015/03/24 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
《社戏》教学反思
2016/02/22 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android