Javascript json object 与string 相互转换的简单实现

Javascript json object 与string 相互转换的简单实现

function obj2str(o){

var r = [];

if(typeof o == "string" || o == null) {

return o;

}

if(typeof o == "object"){

if(!o.sort){

r[0]="{"

for(var i in o){

r[r.length]=i;

r[r.length]=":";

r[r.length]=obj2str(o[i]);

r[r.length]=",";

}

r[r.length-1]="}"

}else{

r[0]="["

for(var i =0;i<o.length;i++){

r[r.length]=obj2str(o[i]);

r[r.length]=",";

}

r[r.length-1]="]"

}

return r.join("");

}

return o.toString();

}

string 转 object

function taoRan(){

var str='{"result": [["提现", "219"], ["提现银行", "121"], ["退款", "272"], ["提现失败", "16"], ["团购", "15"], ["淘宝", "412"],["台湾", "58"], ["提现限额", "16"], ["提现时间", "81"], ["台湾认证", "26"]]}';

alert(strToObj(str).result[2]);

}

function strToObj(json){

return eval("("+json+")");

}

非常好用的JsonToString方法

//'

Jsontostring代码

function JsonToString(o) {

var arr = [];

var fmt = function(s) {

if (typeof s == 'object' && s != null) return JsonToStr(s);

return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;

}

for (var i in o)

arr.push("'" + i + "':" + fmt(o[i]));

return '{' + arr.join(',') + '}';

}

我反正用的很爽,哈哈

另外: 如果不想json中的数字也被字符串化. 可以改造: return /^(string|number)$/.test(typeof s) ? '"' + s + '"' : s; 为 : return /^(string)$/.test(typeof s) ? '"' + s + '"' : s; (其实就是把number类型的忽略掉而已)

function O2String(O) {

//return JSON.stringify(jsonobj);

var S = [];

var J = "";

if (Object.prototype.toString.apply(O) === '[object Array]') {

for (var i = 0; i < O.length; i++)

S.push(O2String(O[i]));

J = '[' + S.join(',') + ']';

}

else if (Object.prototype.toString.apply(O) === '[object Date]') {

J = "new Date(" + O.getTime() + ")";

}

else if (Object.prototype.toString.apply(O) === '[object RegExp]' || Object.prototype.toString.apply(O) === '[object Function]') {

J = O.toString();

}

else if (Object.prototype.toString.apply(O) === '[object Object]') {

for (var i in O) {

O[i] = typeof (O[i]) == 'string' ? '"' + O[i] + '"' : (typeof (O[i]) === 'object' ? O2String(O[i]) : O[i]);

S.push('"' + i + '":' + O[i]);

}

J = '{' + S.join(',') + '}';

}

return J;

};

JSON.stringify(jsonobj)

JSON.stringify(jsonobj),本来是最简便的方法,可是存在浏览器兼容问题(仅适用于IE8+,Chrome 1+,FF 3+)

以上是 Javascript json object 与string 相互转换的简单实现 的全部内容, 来源链接: utcz.com/z/337353.html

回到顶部