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 ...
随机推荐
- .NET前后台-JS获取/设置iframe内对象元素并进行数据处理
转载请注明出处:果冻栋吖 这个主要是修改H3BPM一个批量审批的功能时候做的.先看下图: H3自带了批量审批的功能,也就是按钮1,有审批意见3,但是如果3里边不填写内容点击1之后,效果就是表单里边没有 ...
- python-sqlite3事务
sqlite3事务总结: 在connect()中不传入 isolation_level 事务处理: 使用connection.commit() #!/usr/bin/env python # -*- ...
- WPF 漏斗控件 等待沙漏效果
由于WPF中不支持gif图片因此要实现一个漏斗沙漏效果有点小麻烦. 网上有一款开源的控件 理论上完全开源 官网 http://wpfspark.codeplex.com/贴一下效果图 大家感觉需要就在 ...
- Android进程与线程
我们都知道,在操作系统中进程是OS分配资源的最小单位,而线程是执行任务的最小单位.一个进程可以拥有多个线程执行任务,这些线程可以共享该进程分配到的资源.当我们的app启动运行后,在该app没有其他组件 ...
- css relative设置top为百分比值
前言: 最近在学习HTML.CSS的过程中,想模仿一下百度首页.发现搜索框这一部分与上下其它元素的空白距离可以随着窗口大小变化(效果如下图所示),于是自己研究了一下并记录下来. 效果实现 <!D ...
- [原创]一道基本ACM试题的启示——多个测试用例的输入问题。
Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离. Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数 ...
- Socket 数据包顺序的问题
今天遇到一个问题,到现在还未查明原因,记录一下,留后续跟踪. 基于Netty的Socket通讯问题,Server在向Client发送数据时,假设数据原顺序为1,2,3,4... 但到了客户端顺序可能 ...
- C#读取EXCEL 并输出到文本框
#region 加载数据到DataGraidView private void button1_Click(object sender, EventArgs e) { string excelPath ...
- ZBrush中如何将一个模型应用在不同的图层
我们经常会使用ZBrush®中的插入笔刷来实现快速建模,或者使用Insert笔刷创建人物四肢,那么在使用这些笔刷时,它默认是和所接触模型同在一个Subtool,如果您需要不同的材质或者雕刻手法,那么就 ...
- Bootstrap 有一个 class 属性叫做 well,它的作用是为设定的列创造出一种视觉上的深度感
Bootstrap 有一个 class 属性叫做 well,它的作用是为设定的列创造出一种视觉上的深度感