zoukankan      html  css  js  c++  java
  • Jq基础拓展 json to String

    传入jsonObject or jsonArray 
    $.toJSON(row);
    
    (function($) {
        var m = {
            '\b': '\\b',
            '\t': '\\t',
            '\n': '\\n',
            '\f': '\\f',
            '\r': '\\r',
            '"': '\\"',
            '\\': '\\\\'
        },
            s = {
                'array': function(x) {
                    var a = ['['], b, f, i, l = x.length, v;
                    for (i = 0; i < l; i += 1) {
                        v = x[i];
                        f = s[typeof v];
                        if (f) {
                            v = f(v);
                            if (typeof v == 'string') {
                                if (b) {
                                    a[a.length] = ',';
                                }
                                a[a.length] = v;
                                b = true;
                            }
                        }
                    }
                    a[a.length] = ']';
                    return a.join('');
                },
                'boolean': function(x) {
                    return String(x);
                },
                'null': function(x) {
                    return "null";
                },
                'number': function(x) {
                    return isFinite(x) ? String(x) : 'null';
                },
                'object': function(x) {
                    if (x) {
                        if (x instanceof Array) {
                            return s.array(x);
                        }
                        var a = ['{'], b, f, i, v;
                        for (i in x) {
                            v = x[i];
                            f = s[typeof v];
                            if (f) {
                                v = f(v);
                                if (typeof v == 'string') {
                                    if (b) {
                                        a[a.length] = ',';
                                    }
                                    a.push(s.string(i), ':', v);
                                    b = true;
                                }
                            }
                        }
                        a[a.length] = '}';
                        return a.join('');
                    }
                    return 'null';
                },
                'string': function(x) {
                    if (/["\\\x00-\x1f]/.test(x)) {
                        x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
                            var c = m[b];
                            if (c) {
                                return c;
                            }
                            c = b.charCodeAt();
                            return '\\u00' +
                                Math.floor(c / 16).toString(16) +
                                (c % 16).toString(16);
                        });
                    }
                    return '"' + x + '"';
                }
            };
    
        $.toJSON = function(v) {
            var f = isNaN(v) ? s[typeof v] : s['number'];
            if (f) return f(v);
        };
    
        $.parseJSON = function(v, safe) {
            if (safe === undefined) safe = $.parseJSON.safe;
            if (safe && !/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(v))
                return undefined;
            return eval('(' + v + ')');
        };
    
        $.parseJSON.safe = false;
    
    })(jQuery);
    

      

  • 相关阅读:
    redhat yum ISO 本地源
    md5sum的使用
    查看进程内存使用情况
    常见User-Agent大全
    aggregate和annotate使用
    Django logging配置
    Django 开发调试工具:Django-debug-toolbar
    浏览器的同源策略及跨域解决方案
    Python contenttypes组件
    Dajngo admin
  • 原文地址:https://www.cnblogs.com/XiaoGer/p/2501567.html
Copyright © 2011-2022 走看看