Результаты (
русский) 3:
[копия]Скопировано!
(function() {/ * * @ пресечения {} * / var kasperskylab дублировать функции (контексте = () {/ * * * * * * * * * * * * * ** @ возвращение (строка.* /функция getclass ({obj)если (такой obj = = = "неопределенным")возвращение "неопределенным";если (obj = = = NULL)возвращение "ничтожным".возвращение объекта. прототип. tostring призыв (объекта).. матч (/ ^ [объекты (*)] $/) [1];}var экспорта = {}, фдоон;/ * * * * * * * * * * * * * ** @ возвращение (строка.* /функция objecttojson (объекта) {если (объект = = = = = бесконечность не | | объект | | объект = = - бесконечность | | объект = = = фдоон)возвращение "ничтожным".var ClassName = getclass (объекта);если (ClassName = = "boolean") {возвращение "," + объекта;] иначе, если (ClassName = = "номер") {возвращение в окно. isnan (объекта)? "ноль ":" "+ объекта;] иначе, если (ClassName = = "string") {escapedstr var = "" + объекта;возвращение "," + escapedstr. заменить (/ / G " ") вместо (/ "G" "") + ";}если (такой объект = = "объект") {если (!objecttojson. проверьте) objecttojson.check = [];(var i = 0, chklen = objecttojson.check.length; я < chklen; + + i) {если (objecttojson. проверьте [я] = = = объекта) {пролить typeerror();}}objecttojson. проверьте. тужься (объекта);var строка = "";если (ClassName = = "array") {(var индекс = 0, длина = object.length; индекс < длины; + + индекс) {спо + = objecttojson (объект [индекс]) + ",";}objecttojson. проверьте. pop();возвращение "[" + str.slice (0 - 1) +] ";{} еще(var собственности объекта) {если (объект. hasownproperty (собственность)) {спо + = "" + собственности + ":" + objecttojson (объект [имущества]) + ",";}}objecttojson. проверьте. pop();возвращение "(" + str.slice (0 - 1) + ";}"}}возвращение фдоон;}exports.stringify = функции (источник) {возвращение objecttojson (источник);};анализатор = {varисточник: null,грамматика: / ^ [x20] * (?: (, [: [...] {}] | правда | ложные | недействительным) | (-?d + (?:. *)?(???: [ее] [+]?d) +)?| "(?: [^ "] | (?: [" / trnfb] | U [0-9a-fa-f] {4}) *)"),throwerror: function() {пролить syntaxerrorComment ("json ошибка ");},nexttoken: функции (маркер) {this.source = знак. вклад. кусок (знак [0]. длина);возвращение этой. грамматики. exec (это. источник);},parsearray: function() {var символическую = это грамматика. exec (это. источник),parseitem = знак & & знак [1]!= "],в результате = [];(; символическую = это. nexttoken (маркер)) {если (!знака)это. throwerror();если (parseitem) {результат. тужься (это. parsevalue (маркер));- это знак. грамматика. exec (это. источник);{} ещеесли (знак [1]) {если (знак [1] = = "]") {перерыв;} еще если (знак [1]!= ",") {это. throwerror();}{} ещеэто. throwerror();}}parseitem =!parseitem;}возвращение результат.},parseobject: function() {var propertyname, parseproperty = true, результат = {};(var = это знак. грамматика. exec (это. источник); символическую = это. nexttoken (маркер)) {если (!знака)это. throwerror();если (parseproperty) {если (символ и знак [1] [1] = = "}, {")/ / this.source = это. источник. кусок (знак [0]. длина);перерыв;} еще если (знак [1] | | знак [2] | |!знак [3] {это. throwerror();}propertyname = знак [3];- это знак. nexttoken (маркер);если (!так | |![1] | знак | знак [1]!= ":")это. throwerror();parseproperty = false;{} ещеесли (!propertyname)это. throwerror();в результате [propertyname] = это. parsevalue (маркер);- это знак. nexttoken (это грамматика. exec (это. источник));если (знак [1]) {если (знак [1] = = "}, {")перерыв;} еще если (знак [1]!= ",") {это. throwerror();
переводится, пожалуйста, подождите..