js中json物件和string互轉
阿新 • • 發佈:2019-02-12
json轉string的方法
/** * json物件轉字串形式 */ function json2str(o) { var arr = []; var fmt = function(s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; } for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); return '{' + arr.join(',') + '}'; }
string轉json的方法
function stringToJson(stringValue)
{
eval("var theJsonValue = "+stringValue);
return theJsonValue;
}
如果是前臺資料要拼接為json物件向後臺或其他地方傳送。可以用我之前寫的文章裡的方法,以前遇到過這種問題,記錄在 js實現獲取頁面資料轉為Json資料並使用
json轉string的例子
實現結果如下<!DOCTYPE html > <html > <head> <meta charset="UTF-8"> <title></title> </head> <body> <input type="button" value="click" onclick="clickMe()" /> <script type="text/javascript"> var w = {a:"A",b:"B",c:"C"}; function clickMe(){ w = json2str(w); alert(typeof(w)); console.log(w); } /** * json物件轉字串形式 */ function json2str(o) { var arr = []; var fmt = function(s) { if (typeof s == 'object' && s != null) return json2str(s); return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; } for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); return '{' + arr.join(',') + '}'; } </script> </body> </html>