国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > JavaScript > 正文

淺析Js(Jquery)中,字符串與JSON格式互相轉換的示例(直接運行實例)

2019-11-20 22:32:48
字體:
來源:轉載
供稿:網友
首先,準備新建一個js文件。以下是JSON2.js的內容,把內容拷到js文件中,以便調用:
復制代碼 代碼如下:

/*
    http://www.JSON.org/json2.js
    Public Domain.
    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
    See http://www.JSON.org/js.html
    This code should be minified before deployment.
    See http://javascript.crockford.com/jsmin.html
    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
    NOT CONTROL.
    This file creates a global JSON object containing two methods: stringify
    and parse.
        JSON.stringify(value, replacer, space)
            value       any JavaScript value, usually an object or array.
            replacer    an optional parameter that determines how object
                        values are stringified for objects. It can be a
                        function or an array of strings.
            space       an optional parameter that specifies the indentation
                        of nested structures. If it is omitted, the text will
                        be packed without extra whitespace. If it is a number,
                        it will specify the number of spaces to indent at each
                        level. If it is a string (such as '/t' or ' '),
                        it contains the characters used to indent at each level.
            This method produces a JSON text from a JavaScript value.
            When an object value is found, if the object contains a toJSON
            method, its toJSON method will be called and the result will be
            stringified. A toJSON method does not serialize: it returns the
            value represented by the name/value pair that should be serialized,
            or undefined if nothing should be serialized. The toJSON method
            will be passed the key associated with the value, and this will be
            bound to the value
            For example, this would serialize Dates as ISO strings.
                Date.prototype.toJSON = function (key) {
                    function f(n) {
                        // Format integers to have at least two digits.
                        return n < 10 ? '0' + n : n;
                    }
                    return this.getUTCFullYear()   + '-' +
                         f(this.getUTCMonth() + 1) + '-' +
                         f(this.getUTCDate())      + 'T' +
                         f(this.getUTCHours())     + ':' +
                         f(this.getUTCMinutes())   + ':' +
                         f(this.getUTCSeconds())   + 'Z';
                };
            You can provide an optional replacer method. It will be passed the
            key and value of each member, with this bound to the containing
            object. The value that is returned from your method will be
            serialized. If your method returns undefined, then the member will
            be excluded from the serialization.
            If the replacer parameter is an array of strings, then it will be
            used to select the members to be serialized. It filters the results
            such that only members with keys listed in the replacer array are
            stringified.
            Values that do not have JSON representations, such as undefined or
            functions, will not be serialized. Such values in objects will be
            dropped; in arrays they will be replaced with null. You can use
            a replacer function to replace those with JSON values.
            JSON.stringify(undefined) returns undefined.
            The optional space parameter produces a stringification of the
            value that is filled with line breaks and indentation to make it
            easier to read.
            If the space parameter is a non-empty string, then that string will
            be used for indentation. If the space parameter is a number, then
            the indentation will be that many spaces.
            Example:
            text = JSON.stringify(['e', {pluribus: 'unum'}]);
            // text is '["e",{"pluribus":"unum"}]'
            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '/t');
            // text is '[/n/t"e",/n/t{/n/t/t"pluribus": "unum"/n/t}/n]'
            text = JSON.stringify([new Date()], function (key, value) {
                return this[key] instanceof Date ?
                    'Date(' + this[key] + ')' : value;
            });
            // text is '["Date(---current time---)"]'
        JSON.parse(text, reviver)
            This method parses a JSON text to produce an object or array.
            It can throw a SyntaxError exception.
            The optional reviver parameter is a function that can filter and
            transform the results. It receives each of the keys and values,
            and its return value is used instead of the original value.
            If it returns what it received, then the structure is not modified.
            If it returns undefined then the member is deleted.
            Example:
            // Parse the text. Values that look like ISO date strings will
            // be converted to Date objects.
            myData = JSON.parse(text, function (key, value) {
                var a;
                if (typeof value === 'string') {
                    a =
/^(/d{4})-(/d{2})-(/d{2})T(/d{2}):(/d{2}):(/d{2}(?:/./d*)?)Z$/.exec(value);
                    if (a) {
                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
                            +a[5], +a[6]));
                    }
                }
                return value;
            });
            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
                var d;
                if (typeof value === 'string' &&
                        value.slice(0, 5) === 'Date(' &&
                        value.slice(-1) === ')') {
                    d = new Date(value.slice(5, -1));
                    if (d) {
                        return d;
                    }
                }
                return value;
            });
    This is a reference implementation. You are free to copy, modify, or
    redistribute.
*/
/*jslint evil: true, strict: false, regexp: false */
/*members "", "/b", "/t", "/n", "/f", "/r", "/"", JSON, "http://", apply,
    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
    lastIndex, length, parse, prototype, push, replace, slice, stringify,
    test, toJSON, toString, valueOf
*/
// Create a JSON object only if one does not already exist. We create the
// methods in a closure to avoid creating global variables.
if (!this.JSON2)
{
    this.JSON2 = {};
}
(function () {
    "use strict";
    function f(n) {
        // Format integers to have at least two digits.
        return n < 10 ? '0' + n : n;
    }
    if (typeof Date.prototype.toJSON !== 'function') {
        Date.prototype.toJSON = function (key) {
            return isFinite(this.valueOf()) ?
                   this.getUTCFullYear()   + '-' +
                 f(this.getUTCMonth() + 1) + '-' +
                 f(this.getUTCDate())      + 'T' +
                 f(this.getUTCHours())     + ':' +
                 f(this.getUTCMinutes())   + ':' +
                 f(this.getUTCSeconds())   + 'Z' : null;
        };
        String.prototype.toJSON =
        Number.prototype.toJSON =
        Boolean.prototype.toJSON = function (key) {
            return this.valueOf();
        };
    }
    var cx = /[/u0000/u00ad/u0600-/u0604/u070f/u17b4/u17b5/u200c-/u200f/u2028-/u202f/u2060-/u206f/ufeff/ufff0-/uffff]/g,
        escapable = /[///"/x00-/x1f/x7f-/x9f/u00ad/u0600-/u0604/u070f/u17b4/u17b5/u200c-/u200f/u2028-/u202f/u2060-/u206f/ufeff/ufff0-/uffff]/g,
        gap,
        indent,
        meta = {    // table of character substitutions
            '/b': '//b',
            '/t': '//t',
            '/n': '//n',
            '/f': '//f',
            '/r': '//r',
            '"' : '//"',
            '//': '////'
        },
        rep;
    function quote(string) {
        escapable.lastIndex = 0;
        return escapable.test(string) ?
            '"' + string.replace(escapable, function (a) {
                var c = meta[a];
                return typeof c === 'string' ? c :
                    '//u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
            }) + '"' :
            '"' + string + '"';
    }
    function str(key, holder) {
        var i,          // The loop counter.
            k,          // The member key.
            v,          // The member value.
            length,
            mind = gap,
            partial,
            value = holder[key];
        if (value && typeof value === 'object' &&
                typeof value.toJSON === 'function') {
            value = value.toJSON(key);
        }
        if (typeof rep === 'function') {
            value = rep.call(holder, key, value);
        }
        switch (typeof value) {
        case 'string':
            return quote(value);
        case 'number':
            return isFinite(value) ? String(value) : 'null';
        case 'boolean':
        case 'null':
            return String(value);
        case 'object':
            if (!value) {
                return 'null';
            }
            gap += indent;
            partial = [];
            if (Object.prototype.toString.apply(value) === '[object Array]') {
                length = value.length;
                for (i = 0; i < length; i += 1) {
                    partial[i] = str(i, value) || 'null';
                }
                v = partial.length === 0 ? '[]' :
                    gap ? '[/n' + gap +
                            partial.join(',/n' + gap) + '/n' +
                                mind + ']' :
                          '[' + partial.join(',') + ']';
                gap = mind;
                return v;
            }
            if (rep && typeof rep === 'object') {
                length = rep.length;
                for (i = 0; i < length; i += 1) {
                    k = rep[i];
                    if (typeof k === 'string') {
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                }
            } else {
                for (k in value) {
                    if (Object.hasOwnProperty.call(value, k)) {
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                }
            }
            v = partial.length === 0 ? '{}' :
                gap ? '{/n' + gap + partial.join(',/n' + gap) + '/n' +
                        mind + '}' : '{' + partial.join(',') + '}';
            gap = mind;
            return v;
        }
    }
    if (typeof JSON2.stringify !== 'function') {
        JSON2.stringify = function (value, replacer, space) {
            var i;
            gap = '';
            indent = '';
            if (typeof space === 'number') {
                for (i = 0; i < space; i += 1) {
                    indent += ' ';
                }
            } else if (typeof space === 'string') {
                indent = space;
            }
            rep = replacer;
            if (replacer && typeof replacer !== 'function' &&
                    (typeof replacer !== 'object' ||
                     typeof replacer.length !== 'number')) {
                throw new Error('JSON2.stringify');
            }
            return str('', {'': value});
        };
    }
    if (typeof JSON2.parse !== 'function') {
        JSON2.parse = function (text, reviver) {
            var j;
            function walk(holder, key) {
                var k, v, value = holder[key];
                if (value && typeof value === 'object') {
                    for (k in value) {
                        if (Object.hasOwnProperty.call(value, k)) {
                            v = walk(value, k);
                            if (v !== undefined) {
                                value[k] = v;
                            } else {
                                delete value[k];
                            }
                        }
                    }
                }
                return reviver.call(holder, key, value);
            }
            text = String(text);
            cx.lastIndex = 0;
            if (cx.test(text)) {
                text = text.replace(cx, function (a) {
                    return '//u' +
                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
                });
            }
            if (/^[/],:{}/s]*$/
.test(text.replace(///(?:["http:////bfnrt]|u[0-9a-fA-F]{4})/g, '@')
.replace(/"[^"http:///n/r]*"|true|false|null|-?/d+(?:/./d*)?(?:[eE][+/-]?/d+)?/g, ']')
.replace(/(?:^|:|,)(?:/s*/[)+/g, ''))) {
                j = eval('(' + text + ')');
                return typeof reviver === 'function' ?
                    walk({'': j}, '') : j;
            }
            throw new SyntaxError('JSON2.parse');
        };
    }
}());

第二、調用頁的內容
注意:調用js文件的路徑需要自己調整,這點如果不會,那就別再繼續看了。
復制代碼 代碼如下:

   <script src="../jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
    <script src="../json2.js" type="text/javascript"></script>
        var a = '{ "name": "tom", "sex": "男", "age": "24" }';    // 用于組成json的字符串;
        alert("用于組成json的字符串:【"+a+"】");
        var b = JSON2.parse(a);   // 把字符串a轉換為json格式b
        var c = JSON2.stringify(a); //把json格式b轉換為字符串c
        alert("轉換后的字符串:【"+c+"】");
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
另类综合图区| 欧美视频免费一区二区三区| 麻豆视频在线观看免费网站| 亚洲第一页在线播放| 精品国产一区二区三区久久久狼牙 | 天天操夜夜操天天射| av在线二区| 久草网在线视频| 中文字幕不卡| 中文av在线播放| 欧美性xxxx交| 国内a∨免费播放| 国产精品白浆视频免费观看| 丝袜理论片在线观看| 国产日韩欧美精品一区二区三区 | www在线播放| av中文网站| 国产婷婷视频在线| www.操.com| 91在线网站| 国产一区二区影视| 青娱乐在线视频观看| 国产精品黄页网站在线播放免费| 18激情网站| 天堂在线一二区| www狠狠操| 在线免费观看高清视频色| 国产精品亚洲第五区在线| 四虎国产精品永久地址998| 国产黄色av免费看| 中中文字幕av在线| 国产有码在线| 麻豆精品传媒视频观看| 亚洲综合激情六月婷婷在线观看 | 九九在线观看免费视频| 国产精品视频一区二区久久| 日本动漫同人动漫在线观看| 精品一区二区观看| 91九色在线看| 国产www网站| 国产精品蜜臀| 国产特级嫩嫩嫩bbb| 国产一卡二卡3卡4卡四卡在线| 免费观看久久久久| 欧美午夜电影一区二区三区| av中文在线资源| japanese色国产在线看视频| 人成在线免费视频| 黄色片av在线| 就爱干草视频| 国产丝袜精品丝袜| 69日小视频在线观看| 精品日韩av| av中文字幕在线看| 国产男女无套在线播放| 国产精品视频一区麻豆| 在线黄色av| 国产美女在线播放| 国产高清免费在线播放| 亚洲人av在线| 国产九九在线| 伊人中文字幕在线| 国精一区二区三区| 99高清免费国产自产拍| 国产第一页在线视频| 日本欧洲一区| 国产极品视频| 免费国产阿v视频在线观看| 中文字幕在线视频网| 99re6在线视频精品免费| av资源网站在线观看| 国产精品白浆流出视频| h网站久久久| 国产激情视频一区二区三区| 免费看的av| 在线三级中文| 国产精品伦理一区二区三区| 开心快乐六月丁香婷婷| 91激情在线| 二人午夜免费观看在线视频| 精品一二三区视频| 国产系列在线观看| 欧美性猛交xxxx免费看久久| 中文字幕国产欧美| wwwww在线观看免费视频| 91在线网址| 69堂视频在线观看国产| 中文字幕在线视频观看| 国内外激情在线| 免费精品国产自产拍观看| 香蕉视频在线观看www| 夜色资源网av在先锋网站观看| 国产青青草在线| 国产午夜在线观看| 热99在线观看| 欧美精品另类| 激情亚洲综合网| 国产在线传媒| 尤物免费看在线视频| 国产免费福利网站| 国产精品自产拍在线网站| 高清视频一区二区三区四区| 国产乱人视频免费播放| 二区中文字幕| 国产亚洲依依| 国产黄色片在线观看| 国产a级网站| 亚洲电影先锋| 天天操中文字幕视频| 在线观看国产视频| 亚洲第一区视频| 黄色av电影在线播放| 国产天堂在线播放视频| 99综合精品久久| 日韩a视频在线观看| 欧美日韩视频精品二区| 黄色片视频在线观看| 国产精品自产拍在线网站| 中文字幕av中文字幕| 中文国产字幕在线观看| 亚洲成人av高清| 成人午夜无人区一区二区| 国产一卡2卡3卡4卡网站免费| 国产一级在线观看| 国产激情视频在线观看| 亚洲精品自拍区在线观看| 久久综合精品视频| 国产视频xxx| а√天堂www在线а√天堂视频| 天堂在线免费av| jizz在线免费观看| 国产高清av在线| 国产在线超碰| 亚洲an天堂an在线观看| 国产精品久久久久一区二区国产 | 精品伦理一区二区| 夜夜嗨yeyeh| 88av在线| 69日小视频在线观看| 黄色国产网站在线观看| 国产成人天天5g影院| 九九热免费视频| av在线不卡网站| 99在线视频观看| 国产95在线|亚洲| 国产网站观看9久| 玖玖在线视频| wwww亚洲| 国产91久久久久蜜臀青青天草二| 国产美女性感在线观看懂色av| 羞羞视频在线免费看| 亚洲欧美国产另类首页| 国产精品伦理一区二区三区| 国产主播色在线| 九九热在线观看视频| www.色五月| 欧美日韩亚洲国内综合网| 亚洲精品在线播放视频| 一本久久精品| 日本电影全部在线观看网站视频 | 国产极品美女到高潮| 激情综合丁香| 免费高清视频日韩| 欧洲有码在线视频| 亚洲人av在线| 国产不卡视频| 精品三级久久久久久久电影聊斋| 国产精品入口麻豆完整版| 国产久草在线| 中文字幕不卡免费视频| 国产网友自拍视频导航网站在线观看| 中文字幕在线观看日本| 国产精品冒白浆免费视频| 国产极品嫩模在线视频一区| 国产精品秘入口| 精品成人免费自拍视频| 四虎网站在线观看| 狠狠操视频网| 国产馆av播放| 免费在线播放av| 超碰在线人人| 国产人成精品| 日本欧洲一区| 综合激情丁香| 午夜在线观看91| 最近中文字幕mv2018在线高清| 国产香蕉在线| 日本高清中文字幕在线 | 激情丁香在线| 国产伦精品一区二区三区高清版禁| 天堂在线看视频| 亚洲а∨精品天堂在线| 高潮白浆视频| 国产国产人免费人成免费视频| 一本大道久久精品| 最近中文字幕在线中文视频| 69国产精品视频| 久久久久国产精品嫩草影院| 国产精品区一区二| 国产男女无套在线播放|