Is it just JSON? You can stringify() JSON:
var obj = { cons: [[String, 'some', 'somemore']], func: function(param, param2){ param2.some = 'bla'; } }; var text = JSON.stringify(obj);
And again, parse back to JSON using parse() :
var myVar = JSON.parse(text);
If you have functions in the object, use this to serialize:
function objToString(obj, ndeep) { switch(typeof obj){ case "string": return '"'+obj+'"'; case "function": return obj.name || obj.toString(); case "object": var indent = Array(ndeep||1).join('\t'), isArray = Array.isArray(obj); return ('{['[+isArray] + Object.keys(obj).map(function(key){ return '\n\t' + indent +(isArray?'': key + ': ' )+ objToString(obj[key], (ndeep||1)+1); }).join(',') + '\n' + indent + '}]'[+isArray]).replace(/[\s\t\n]+(?=(?:[^\'"]*[\'"][^\'"]*[\'"])*[^\'"]*$)/g,''); default: return obj.toString(); } }
Examples:
Serialization:
var text = objToString(obj);
Result:
"{cons:[[String,"some","somemore"]],func:function(param,param2){param2.some='bla';}}"
Deserialize:
Var myObj = eval('('+text+')');
Result:
Object {cons: Array[1], func: function, spoof: function}
MSS Nov 21 '14 at 6:22 2014-11-21 06:22
source share