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 相互轉換的簡單實現的全部內容了,希望對大家有所幫助,多多支持~