2022-05-02 22:31:35 +08:00
/*! jQuery JSON plugin 2.4.0 | code.google.com/p/jquery-json */
( function ( $ ) { 'use strict' ; var escape = /["\\\x00-\x1f\x7f-\x9f]/g , meta = { '\b' : '\\b' , '\t' : '\\t' , '\n' : '\\n' , '\f' : '\\f' , '\r' : '\\r' , '"' : '\\"' , '\\' : '\\\\' } , hasOwn = Object . prototype . hasOwnProperty ; $ . toJSON = typeof JSON === 'object' && JSON . stringify ? JSON . stringify : function ( o ) { if ( o === null ) { return 'null' ; }
var pairs , k , name , val , type = $ . type ( o ) ; if ( type === 'undefined' ) { return undefined ; }
if ( type === 'number' || type === 'boolean' ) { return String ( o ) ; }
if ( type === 'string' ) { return $ . quoteString ( o ) ; }
if ( typeof o . toJSON === 'function' ) { return $ . toJSON ( o . toJSON ( ) ) ; }
if ( type === 'date' ) { var month = o . getUTCMonth ( ) + 1 , day = o . getUTCDate ( ) , year = o . getUTCFullYear ( ) , hours = o . getUTCHours ( ) , minutes = o . getUTCMinutes ( ) , seconds = o . getUTCSeconds ( ) , milli = o . getUTCMilliseconds ( ) ; if ( month < 10 ) { month = '0' + month ; }
if ( day < 10 ) { day = '0' + day ; }
if ( hours < 10 ) { hours = '0' + hours ; }
if ( minutes < 10 ) { minutes = '0' + minutes ; }
if ( seconds < 10 ) { seconds = '0' + seconds ; }
if ( milli < 100 ) { milli = '0' + milli ; }
if ( milli < 10 ) { milli = '0' + milli ; }
return '"' + year + '-' + month + '-' + day + 'T' +
hours + ':' + minutes + ':' + seconds + '.' + milli + 'Z"' ; }
pairs = [ ] ; if ( $ . isArray ( o ) ) { for ( k = 0 ; k < o . length ; k ++ ) { pairs . push ( $ . toJSON ( o [ k ] ) || 'null' ) ; }
return '[' + pairs . join ( ',' ) + ']' ; }
if ( typeof o === 'object' ) { for ( k in o ) { if ( hasOwn . call ( o , k ) ) { type = typeof k ; if ( type === 'number' ) { name = '"' + k + '"' ; } else if ( type === 'string' ) { name = $ . quoteString ( k ) ; } else { continue ; }
type = typeof o [ k ] ; if ( type !== 'function' && type !== 'undefined' ) { val = $ . toJSON ( o [ k ] ) ; pairs . push ( name + ':' + val ) ; } } }
return '{' + pairs . join ( ',' ) + '}' ; } } ; $ . evalJSON = typeof JSON === 'object' && JSON . parse ? JSON . parse : function ( str ) { return eval ( '(' + str + ')' ) ; } ; $ . secureEvalJSON = typeof JSON === 'object' && JSON . parse ? JSON . parse : function ( str ) { var filtered = str . replace ( /\\["\\\/bfnrtu]/g , '@' ) . replace ( /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g , ']' ) . replace ( /(?:^|:|,)(?:\s*\[)+/g , '' ) ; if ( /^[\],:{}\s]*$/ . test ( filtered ) ) { return eval ( '(' + str + ')' ) ; }
throw new SyntaxError ( 'Error parsing JSON, source is not valid.' ) ; } ; $ . quoteString = function ( str ) { if ( str . match ( escape ) ) { return '"' + str . replace ( escape , function ( a ) { var c = meta [ a ] ; if ( typeof c === 'string' ) { return c ; }
c = a . charCodeAt ( ) ; return '\\u00' + Math . floor ( c / 16 ) . toString ( 16 ) + ( c % 16 ) . toString ( 16 ) ; } ) + '"' ; }
2021-09-17 10:56:51 +08:00
return '"' + str + '"' ; } ; } ( jQuery ) ) ;