zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    GIS 空间分析案例教程-坐标高斯投影正反算
    GIS 空间分析案例分析-错误排除经验总结
    第一个Json.Net Demo
    点到折线最短距离所在点距离折线起点的累积距离
    使用Proj.Net创建空间参考
    C#通过存储过程进行查询
    分幅输出影像瓦片
    ArcEngine和GDAL读写栅格数据机制对比(二)—— IPixelBlock读写栅格
    Web开发学习
    [3D]绘制XYZ小坐标轴
  • 原文地址:https://www.cnblogs.com/phpfans/p/3225332.html
Copyright © 2011-2022 走看看