JavaScript(js)对象常用操作,JS操作JSON总结
数据类型判断可以通过一元操作符typeof,此操作符可以判断大部分JS数据类型。
也可以通过instanceof来判断。如:
var a = [];
alert(typeof a); // object
alert(a instanceof Array); //return true
var a = {};
把a定义为对象。
可以通过
a[key] = value;
进行赋值。
判断a对象的长度,可以通过:
var length=0;
for(var jsObj in a){
length++;
}
js对象没有length属性,不能直接获取对象个数。
取值:a[...key....]
删除数据: delete a[...key....]
以上类似于json格式的js对象。
对于此js对象不保证存放的顺序,存进去与取出来的顺序可能不一致。
要解决此问题,可以使用Array对象来处理。
使对象具有JAVA中Map的功能。
function Map() {
this.elements = new Array();
crud方法在此省略。。。。
}
this.elements.length //获取Array中的元素个数
其它方法可以参考Array对象的特性。
JS代码易于出错,调试JS代码常用firefox浏览器插件Firebug,Aptana等
var params = {};
params['jybblx'] = "tongyong";
params['gtbb'] = "2.0";
params['querytitle'] = {
"jjcc" : "基金持仓",
"zjls" : "资金流水",
"wtcj" : "委托成交",
"day" : "当日",
"month" : "一个月内",
"year" : "半年内"
};
params['wtzt'] = {"":"未报","":"正报","":"已报","":"已报待撤","":"部成待撤","":"部撤","":"已撤","":"部成","":"已成","":"废单","A":"待报","B":"正报"};
params['message'] = {};
params['message']['yzzz_success'] = "转账请求已提交,请在“查流水”中查看转账结果!"; // 银证转账_成功
params['message']['xgmm_success'] = "修改密码成功";
params['message']['xgsg_success'] = "委托下单成功"; // 新股申购 委托下单成功
params['message']['zjhz_success'] = "调拨操作成功"; 取值用点:
if(params.lowVersion),JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 . 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如: var o={"xlid":"cxh","xldigitid":,"topscore":,"topplaytime":"2009-08-20"}; . 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间运用 “,”(逗号)分隔。 例如: var jsonranklist=[{"xlid":"cxh","xldigitid":,"topscore":,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":,"topscore":,"topplaytime":"2009-11-20"}]; 为了方便地处理JSON数据,JSON提供了json.js包,下载地址:http://www.json.org/json.js 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如: JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "sex": "man" }; 一、JSON字符串转换为JSON对象 要运用上面的str1,必须运用下面的要领先转化为JSON对象: //由JSON字符串转换为JSON对象 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //由JSON字符串转换为JSON对象 或者 var obj = JSON.parse(str); //由JSON字符串转换为JSON对象 然后,就可以这样读取: Alert(obj.name); Alert(obj.sex); 特别留心:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。 二、可以运用 toJSONString()或者全局要领 JSON.stringify()将JSON对象转化为JSON字符串。 例如: var last=obj.toJSONString(); //将JSON对象转化为JSON字符 或者 var last=JSON.stringify(obj); //将JSON对象转化为JSON字符 alert(last); 留心: 上面的多个要领中,除了eval()函数是js自带的之外,其他的多个要领都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个要领都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()要领,则说明您的json包版本太低。
JavaScript(js)对象常用操作,JS操作JSON总结的更多相关文章
- JavaScript面向对象—对象的创建和操作
JavaScript面向对象-对象的创建和操作 前言 虽然说在JavaScript编程语言中,函数是第一公民,但是JavaScript不仅支持函数式编程,也支持面向对象编程.JavaScript对象设 ...
- js对象,数组,字符串的操作
循环绑定=>变量污染 for (var i = 0;i<lis.length;i++){ lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index) # ...
- 在 JS 对象中使用 . 和 [] 操作属性的区别
在 JS 对象中,调用属性一般有两种方法--点和中括号的方法. 例如 使用点方法 var obj = { name: "cedric" } console.log(obj.name ...
- json转js对象方法,JS对象转JSON方法
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- js对象常用2中构造方法
//js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...
- Javascript 数组对象常用的API
常用的JS数组对象API ES5及以前的Api ECMAScript5为数组定义了5个迭代方法,每个方法接收两个参数, 一个是每项运行的函数,一个是运行该函数的作用域对象(可选项),传入这些方法的函数 ...
- 小程序-调用公共js对象方法/ app.js
在小程序中,如果在子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下 子页面js: 1 2 3 4 5 6 7 8 //调用公共js对象以便调用其方法 var app = ge ...
- JavaScript BOM-11-BOM的核心-window对象; window对象的控制,弹出窗口方法; 超时调用; 间歇调用; location对象常用属性; 位置操作--location.reaplace,location.reload(); BOM中的history对象; Screen对象及其常用属性; Navigator对象;
JavaScript BOM 学习目标 1.掌握什么是BOM 2.掌握BOM的核心-window对象 3.掌握window对象的控制.弹出窗口方法 什么是bom BOM(browser object ...
- c#后台List转为js对象(在前台操作)
<!-- 用html标签防止html转义 (html.raw方法转双引号中的双引号时不会转义) --><input id="json" type="hi ...
随机推荐
- python课程设计笔记(二)破冰基本语法
python两种编程方式:交互式与文件式 交互式:语法练习,输一条运行一条 文件式:通用,执行一组语句 注释 #单行注释 ...XXXXX...多行注释 逻辑 没有大括号,按缩进确定逻辑——缩进格数 ...
- JavaWeb详细学习路线图
- Java攻城狮学习路线 - 图转自网络.
- 智能家居控制APPUI界面设计
2017年,随着智能化产业进入新的市场格局,千家品牌实验室也迎来全新的升级,致力为智能产业生态链提供更全更新更深度的行业分析和品牌数据监测服务.本文为大家带来关于中国智能家居行业发展APP设计欣赏. ...
- c++ windows与linux通信中文乱码问题解决方法
在linux中默认编码方式是UTF-8,在Windows下默认编码方式时GB2312.因此,在Windows和Linux进行通信的时候,如果没有进行转码则会出现乱码问题.因此,需要进行UTF-8和GB ...
- fabric.js 学习
官网地址:http://fabricjs.com/ git https://github.com/kangax/fabric.js/ <!DOCTYPE html> < ...
- 生物信息之ME, HMM, MEMM, CRF
原文链接:http://bbs.sciencenet.cn/home.php?mod=space&uid=260809&do=blog&id=573755 注:有少量修改!如有 ...
- 给DBA 的mysql脚本格式
- springboot-简介
SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 下载地址: Spring Boot 主要目标是: 为所有 Spring ...
- MySQL_pymysql模块
安装:pip install pymysql 基本操作 import pymysql conn=pymysql.connect(host=',database='lary',charset='utf8 ...
- 算法46----移除K位数字
一.题目:移除K位数字 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示 ...