JavaScript中对JSON对象的基本操作示例


Posted in Javascript onMay 21, 2016

JSON对象

1、对象的属性:
对象的属性是有键值对组成的,其中key为一个字符串,value可以为任何的Javascript对象。

//使用[]设置和获取对象的属性
var obj = new Object();
obj["3water.com"] = "https://3water.com";
alert(obj["3water.com"]);

2、变量既是属性:
Javascript引擎在初始化时会构建一个全局对象,所有的变量都是这个全局对象的属性。为了引用这个全局对象,可以再顶级作用域中这样获取:

var global = this;

在Javascript中,任何独立的函数或者变量都属于这个对象的属性,即:

function test(){}

相当于:

window.test = function(){}

3、使用对象:
声明对象的三种方式:

① 通过new操作符创建一个Object对象,然后动态地添加属性,从无到有构造一个对象
② 定义对象的类圆形,然后使用new操作符来批量构造新的对象

//创建一个对象
function User(username, password){
  this.username = username;
  this.password = password;
  this.getUsername = function(){
    return this.username;
  }
  this.getPassword = function(){
    return this.password;
  }
}
var arthinking = new User("Jason", "123");
alert(arthinking.getUsername());
alert(arthinking.getPassword());

③ 使用JSON构造对象
JSON即Javascript对象表示方法(Javascript Object Notation),也就是通过字面量来表示一个对象:

//JSON形式创建一个对象
var arthinking = {
  username : "Jason",
  password : "123",
  favorite : {
    sports : "football",
    music : "Guitar"
  }
}
alert(arthinking.username);
alert(arthinking.favorite.sports);

解析由服务器返回的JSON格式数据
单个JSON对象:

[{a:'1',b'2'},{a:'3',b'4'}]

多个JSON对象:

{
"usergroups":[{a:'001',b:'arthinking'},a:'002',b:'Jason'}],
"groups":[{c:'001',d:'IT宅'}]
}

可以根据这种格式先从后台封装好需要传递的数据,前台获取到后可以这样解析获取数据:

//假设response.responseText为返回的JSON字符串
//可以使用eval()函数把JSON字符串转换成Javascript语句
//再通过”.”导航获取具体属性,length属性为对象的长度
var obj = eval( "(" + response.responseText + ")" );
for(var i = 0; i<obj.usergroups.length; i++){
  var groupid = obj.usergroups[i].a;
  var usergroup=obj.groups;
  for(var j=0; j<usergroup.length; j++){
    if(usergroup[j].c == groupid){
      alert(groupid);
 }
  }
}
Javascript 相关文章推荐
js 数值项目的格式化函数代码
May 14 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
Sep 06 Javascript
JavaScript函数获取事件源的小例子
May 14 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 Javascript
vue拦截器Vue.http.interceptors.push使用详解
Apr 22 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
vue使用节流函数的踩坑实例指南
May 20 Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 #Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 #Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 #Javascript
在JavaScript中模拟类(class)及类的继承关系
May 20 #Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 #Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 #Javascript
如何用JavaScript实现动态修改CSS样式表
May 20 #Javascript
You might like
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
Element Input组件分析小结
2018/10/11 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python numpy数组的索引和切片的操作方法
2018/10/20 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
python跳出双层for循环的解决方法
2019/06/24 Python
python多线程扫描端口(线程池)
2019/09/04 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
工地安全标语
2014/06/07 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
精神病医院见习报告
2014/11/03 职场文书
音乐会主持人开场白
2015/05/28 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
python pygame 开发五子棋双人对弈
2022/05/02 Python
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL