注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Copper peas ' Bolg

Keep On Moving...This Is My Life...

 
 
 

日志

 
 

【原】js操作json,json属性,json对象  

2011-04-12 18:10:01|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script type="text/javascript" src="jquery-1.5.1.js"></script>
 </head>
<body>
<script type="text/javascript">
<!--
//js操作类json
var jsonoperate=function()
{
    var jsonarr;
 var jp;
 var jc;
 var start;
 var howmany;
 
 this.getjson=function(varsa){
         jsonarr=varsa;
    };

    //json属性,对象方式操作
 this.addjp=function(vars,varss)
 {
    eval("jsonarr."+vars+"='"+varss+"'");
 }

 this.deljp=function(vars)
 {
       eval("delete jsonarr."+vars);
 }

 this.editjp=function(vars,varss)
 {
      eval("jsonarr."+vars+"='"+varss+"'");
 }

 this.selectjp=function(vars)
 {
  jp=eval("jsonarr."+vars);
  return jp;
 }

 //json记录,数组方式操作
 this.addjc=function(start,howmany,vars)
 {
    jsonarr.splice(start,howmany,vars)
 }

 this.deljc=function(start,howmany)
 {
       jsonarr.splice(start,howmany)
 }

 this.selectjc=function(vars,varss)
 {
    jc=jsonarr[vars];
    //jc=eval("jsonarr["+vars+"]."+varss);
    return jc;
 }

    //1.清空释放空间 2.避免下次使用,调用上次遗留记录
 this.varempty=function(){        
        jsonarr=null;
  jp=null;
  jc=null;
  start=null;
  howmany=null;
 }


}

var json={"record":[{"id":"609","0":"609","key":"fdsafdf","1":"fdsafdf","value":"root:123@192.168.43.108:3306","2":"root:123@192.168.43.108:3306","pid":"137","3":"137"}]};
var jsona={"showstatus":1,"msgerr":"","funname":"backmysqlstatus","rid":607,"pid":594,"jsonid":0};

var jsonb={"id":"608","0":"608","key":"fdsaffdsa","1":"fdsaffdsa","value":"root:123@192.168.152.128:3306","2":"root:123@192.168.152.128:3306","pid":"137","3":"137"};
var jsonoper = new jsonoperate();


/*json属性操作*/

jsonoper.getjson(jsona);
jsonoper.selectjp('funname');
//注意addjp与editjp,第一个参数必须符合json规则,第二个参数中带有单引号的,需自行转换成双引号,或者直接代码转义赋值不使用属性变量的传递方式
jsonoper.addjp('page','sadf');
//alert(jsonoper.selectjp('page'));
jsonoper.editjp('page','123');
//alert(jsonoper.selectjp('page'));
jsonoper.deljp('page');
//alert(jsonoper.selectjp('page'));
jsonoper.varempty();


/*json记录操作,等于是数组操作*/

jsonoper.getjson(json.record);   
jsonoper.addjc(0,0,jsonb);
alert(jsonoper.selectjc(1,'id').id);
jsonoper.deljc(0,1);
alert(jsonoper.selectjc(1,'id').id);
//如果是编辑,内容太多,直接删除行,重新插入一行,如果是修改一行里面的一个属性值,直接采用属性修改就可以了
jsonoper.varempty();

 


/*
例:
http://www.xueit.com/html/2009-03/33_835_00.html
arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a结果就是:[1,2,7,8,9,5],b结果就是5:[3,4]另外注意:
var b = a.splice(0,1); //等同shift()方法
a.splice(0,0,-2,-1); var b = a.length; //等同unshift()方法
var b = a.splice(a.length-1,1); //等同pop()方法
a.splice(a.length,0,6,7); //等同push()方法
*/ 
</script>
</body>
</html>

  评论这张
 
阅读(509)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018