-
Problem report
-
Resolution: Won't fix
-
Minor
-
None
-
3.0.9
-
macOS Sierra Chrome ?? 59.0.3071.115?????? ?64 ??
-
Sprint 13, Sprint 14
open zabbix monitor page then type
JSON.stringify({123: [124,"test"]})
in chrome console.
the normal result should be
"{"123":[124,"test"]}"
but my chrome show
"{"123":"[124, \"test\"]"}"
i change four places in js/vendors/prototype.js fix this for now.
578 function inspect(useDoubleQuotes) {
579 var escapedString = this.replace(/[\x00-\x1f\\]/g, function(character) {
580 if (character in String.specialChar) {
581 return String.specialChar[character];
582 }
583 return '\\u00' + character.charCodeAt().toPaddedString(2, 16);
584 });
585 if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; //=> if (useDoubleQuotes) return escapedString.replace(/"/g, '\\"');
586 return "'" + escapedString.replace(/'/g, '\\\'') + "'"; //=> return escapedString.replace(/'/g, '\\\'');
587 }
1053 function toJSON() {
1054 var results = [];
1055 this.each(function(object) {
1056 var value = Object.toJSON(object);
1057 if (!Object.isUndefined(value)) results.push(value);
1058 });
1059 return '[' + results.join(', ') + ']'; // => return results;
1060 }
1257 function toJSON() {
1258 return isFinite(this) ? this.toString() : 'null'; //=> return this;
1259 }
1053 function toJSON() {
1054 var results = [];
1055 this.each(function(object) {
1056 var value = Object.toJSON(object);
1057 if (!Object.isUndefined(value)) results.push(value);
1058 });
1059 return '[' + results.join(', ') + ']'; // => return results;
1060 }
Am I right?
I use 3.0.9 and I don't check other version for this. sorry for that.