Extjs 소스 코드 -- Ext. util. JSON
//JSON String
Ext.util.JSON = {
// <10 0
pad : function(n) {
return n < 10 ? "0" + n : n;
},
// JSON
decode:function(json){
return eval("(" + json + ')');
},
// JSON
encode:function(o){
if(typeof o == "undefined" || o === null){
return "null";
}else if(Ext.isArray(o)){//
var a = ["["], b, i, l = o.length, v;
for (i = 0; i < l; i++) {
v = o[i];
switch (typeof v) {
case "undefined":
case "function":
case "unknown":
break;
default:
if (b) {
a.push(',');
}
a.push(v === null ? "null" : Ext.util.JSON.encode(v));
b = true;
}
}
a.push("]");
return a.join("");
}else if(Ext.isDate(o)){//
return '"' + o.getFullYear() + "-" +
Ext.util.JSON.pad(o.getMonth() + 1) + "-" +
Ext.util.JSON.pad(o.getDate()) + " " +
Ext.util.JSON.pad(o.getHours()) + ":" +
Ext.util.JSON.pad(o.getMinutes()) + ":" +
Ext.util.JSON.pad(o.getSeconds()) + '"';
}else if(typeof o == "string"){// , , , ...
var m = {
"\b": '\\b',
"\t": '\\t',
"
": '\
',
"\f": '\\f',
"\r": '\\r',
'"' : '\\"',
"\\": '\\\\'
};
if (/["\\\x00-\x1f]/.test(o)) {
return '"' + o.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 '"' + o + '"';
}else if(typeof o == "number"){
return isFinite(o) ? String(o) : "null";
}else if(typeof o == "boolean"){
return String(o);
}else {//json
var a = ["{"], b, i, v;
for (i in o) {
v = o[i];
switch (typeof v) {
case "undefined":
case "function":
case "unknown":
break;
default:
if(b){
a.push(',');
}
a.push(Ext.util.JSON.encode(i), ":", v === null ? "null" : Ext.util.JSON.encode(v));
b = true;
}
}
a.push("}");
return a.join("");
}
}
};
Ext.encode = Ext.util.encode;
Ext.decode = Ext.util.decode;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.