数组和Json转字符串好处理,但是如果字符串转数组或Json时,使用eval时,如果数组中还包含[],或者Json中还包含{}时,总是报错。才疏学浅,错误不会解决,只能自己写方法实现相关转换
// 把store中数据,转换为字符串
// 由于[]再套用[]时使用eval出错,所以使用标识符;x?作为分隔符,其中level作为第几级的参数
function changeArrayToString(array, level) {
var str = "";
for (var i = 0; i < array.length; i++) {
var jsonData = array[i];
str += bmJsonToString(jsonData) + ';' + level + '?';
}
if (str != "") {
str = str.substring(0, str.length - 3);
}
return str;
};
?
// 把字符串,转换为store数组
function changeStringToArray(str, level) {
if (str == undefined || str == null || str == "") {
return null;
} else {
var array = str.split(";" + level + "?");
var conditionArray = new Array();
for (var i = 0; i < array.length; i++) {
var obj = changeStringToJson(array[i], level);
conditionArray.push(obj);
}
return conditionArray;
}
};
?
//把json中的数据转换为string
//由于{}中再套{}时,使用eval出错,所以使用标志符|x!作为分隔符,其中level作为第几级的参数
function changeJsonToString(json, level){
if(json == undefined || json == null){
return "";
}else{
var str = "";
for (var k in json) {
str += '"'+k+'":';
str += '"'+json[k]+'"|'+level+"!"
}
str = str.substring(0,str.length-3);
return '{'+str+'}';
}
};
?
// 把字符串转为为json
function changeStringToJson(str, level) {
if (str == undefined || str == null || str == "") {
return null;
} else {
if (str.length > 2) {
var json = {};
str = str.substring(1, str.length - 1);
var array = str.split('|' + level + '!');
for (var i = 0; i < array.length; i++) {
var info = array[i].split(':');
if (info.length == 2) {
var key = info[0].substring(1,info[0].length-1);
var value = info[1].substring(1,info[1].length-1);
json[key] = value;
}
}
return json;
}
}
return null;
};
?真的是学艺不精呀,既然使用Ext为什么把Ext的一些方法给忘了
function changeArrayToString(array) {
var str = "";
for (var i = 0; i < array.length; i++) {
var jsonData = array[i];
str += changeJsonToString(jsonData) + ',';//';' + level + '?';
}
if (str != "") {
str = "["+str.substring(0, str.length - 1)+"]"
}
return str;
};
// 把字符串,转换为store数组
function changeStringToArray(str) {
if (str == undefined || str == null || str == "") {
return null;
} else {
return Ext.decode(str);
}
};
// 把json中的数据转换为string
function changeJsonToString(json) {
if (json == undefined || json == null) {
return "";
} else {
return Ext.encode(json);
}
};
// 把字符串转为为json
function changeStringToJson(str) {
if (str == undefined || str == null || str == "") {
return null;
} else {
return Ext.decode(str, true)
}
return null;
};
?
