• json和字符串、数组


    <script type="text/javascript" src="json2.js"></script>
    <script>
    //直接声明json数据结构
    var myJSONObject = {"bindings": [
    {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
    };
    //声明字符串,可对比一下json文本与我们正常文本的区别
    var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
    var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';

    //调用eval函数转换为json对象,
    var myE = eval_r(normalstring);
    document.writeln(myE+'<br><br>');
    //将json对象转换为字符串
    var text = JSON.stringify(myE);
    //对比转换后的json文本与声明的文本区别
    document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');

    //当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全,下面调用json的parse函数对文本数据转换生成json数据结构
    var myData = JSON.parse(jsontext);

    document.writeln(myData+'<br><br>');

    //下面是对json对象的增删查改操作

    //声明json对象

    var jsonObj2={persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]};

    var persons=jsonObj2.persons;
    var str="";

    var person={name:"yaoMing",sex:"m",age:"26"};
    //以下为json对象的操作,去掉注释可以查看操作结果
    //jsonObj2.persons.push(person);//数组最后加一条记录
    //jsonObj2.persons.pop();//删除最后一项
    //jsonObj2.persons.shift();//删除第一项
    jsonObj2.persons.unshift(person);//数组最前面加一条记录 只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除
    //jsonObj2.persons.splice(0,2);//开始位置,删除个数
    //替换不删除
    var self={name:"tom",sex:"m",age:"24"};
    var brother={name:"Mike",sex:"m",age:"29"};
    jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象
    //替换并删除
    //jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象

    for(var i=0;i<persons.length;i++){ var cur_person=persons[i]; str+=cur_person.name+"'sex is "+cur_person.sex+" and age is "+cur_person.age+"<br><br>"; }
    document.writeln(str);
    //转换为json文本
    var myjsonobj = JSON.stringify(jsonObj2);
    document.writeln(myjsonobj);
    </script>

    <script type="text/javascript">
    Array.prototype.clear = function() {
    this.length = 0;
    }
    Array.prototype.insertAt = function(index, obj) {
    this.splice(index, 0, obj);
    }
    Array.prototype.remove = function(index) {
    this.splice(index, 1);
    }

    var t = [{ 'a': {'c':22}, 'b': 2 }, { 'a': 2}];
    t.push({ 'a': 3 }); //增
    //t[0].a = 11; //改
    //t.remove(0); //删
    alert(t[0].a.c);
    </script>

    如果感觉不错,请 一个!
    by simpman
  • 相关阅读:
    [SAM学习笔记]
    CF513G3 Inversions problem
    AtCoder Beginner Contest 204
    [SDOI2017]序列计数
    CF993E Nikita and Order Statistics
    多项式板子
    多项式杂学笔记
    「雅礼集训 2017 Day5」远行
    Mysql备份恢复工具
    个人选择上网的流量方式对比
  • 原文地址:https://www.cnblogs.com/simpman/p/3054328.html
Copyright © 2020-2023  润新知