• JSON常用操作


    1. 模拟ChcekBox提交

    function updateCatalog() {
        var param = {};
        var pdata = [];    
        var i = 0;
        $("input[name='ids[]']").each(function() {
            //alert(this.checked);
            if(this.checked == true) {
                //alert($(this).val());
                pdata.push($(this).val());
            }
        });
        param.ids = pdata;
        param.catalog_id = $("#catalog_list").val();
        alert(JSON.stringify(param));
        return false;
    }

    2. JS对象转json串

    var notedata = new Object;
    notedata.nid = strnid;
    notedata.type = $hidtype.val();
    notedata.title = $txttitle.val();
    notedata.content = $txtacontent.val();
    var jsonotedata = JSON.stringify(notedata);

    3. JSON串转JSON对象

    var jsonStr = '{"id":10,"name":"hehhe"}';
    var jsonObj = JSON.parse(jsonStr);

     4. 一个简单的Jquery.HashMap插件

    /**
     功能:jquery HashMap 插件
     作者:李小宇
    */
    ;(function($){//可以去掉开头的 ; (分号),国外的开发人员编写的插件时的一种习惯
        
        //Map数据
        var $_values = {}
        
        var $_HashMap = {
            clear: function() { //清除Map数据
                $_values = {};
            },
            containsKey: function($key) { //检查Map中是否指定key
                if(typeof $_values[$key] == "undefined") {
                    return false;
                }
                return true;
            },
            containsValue: function($value) { //Map是否包含指定value
                var jsonLength = 0;
                for(var item in $_values) {
                    if($_values[item] == $value) {
                        return true;
                    }
                }
                return false;
            },
            contains: function($key, $value) { //Map中是否包含指定的key和对应的value
                if(this.containsKey($key))
                {
                    return (this.get($key) == $value);
                }
                return false;
            },
            get: function($key) { //根据Key取得Map中的value
                if (this.containsKey($key)) {
                    return $_values[$key];
                } else {
                    return null;
                }
            },
            isEmpty: function() { //Map是否为空
                return $.isEmptyObject($_values);
            },
            put: function($key, $value) { //放入指定的Key和value到Map,如果存在同名键名,则覆盖
                $_values[$key] = $value;
            },
            putAll: function($value) { //批量放入values到Map
                for(var item in $value) {
                    this.put(item,$value[item]);
                }
            },
            remove: function($key) { //移出Map中指定的键名value
                json = {};
                for(var item in $_values) {
                    if($key != item) {
                        json[item] = this.get(item);
                    }
                }
                $_values = json;
            },
            size: function() { //取得Map对象的长度
                var jsonLength = 0;
                for(var item in $_values) {
                    jsonLength++;
                }
                return jsonLength;
            },
            toString: function() {
                return JSON.stringify($_values);
            }
        };
        
        $.extend({"HashMap":$_HashMap});
        
    })(jQuery);

    测试

    $(function() {
            //var json = [{"a1":"1"},{"a2":"2"},{"a3":"3"}];
            var json = {"a1":"1","a2":"2","a3":"3"};
            $.HashMap.putAll(json);
            alert($.HashMap.toString());
        });

    说明:插件的用法的就是js匿名函数的用法,例如下面的两段代码是等效的

    (function(a,b){
        alert(a+b);
    })(1,2)

    等于

    var add = function(a,b) {
        alert(a+b);
    }
    add(1,2);
  • 相关阅读:
    window7访问虚拟机ubuntu中的mysql
    photo sphere viewer使用图像数据替代路径来生成全景图
    pgmagick,pil不保存图片并且获取图片二进制数据记录
    flask_admin model官方文档学习
    python pip更换下载源(转)
    flask admin学习记录
    mongodb权限管理(转)
    vmware三种网络连接模式区别
    使用VLC推送TS流(纯图版)
    【转】RTMP/RTP/RTSP/RTCP协议对比与区别介绍
  • 原文地址:https://www.cnblogs.com/phpfans/p/3225332.html
Copyright © 2020-2023  润新知