JSON encode/decode base64 encode/decode in JavaScript
Yes, btoa() and atob() work in some browsers:
var enc = btoa("this is some text");alert(enc);alert(atob(enc));
JSON and base64 are completely independent.
This might be helpful for you. Using a combination of this project crypto-js and Prototype to parse JSON I wrote two function to encode/decode JSON to Base 64. (These functions don't check for not well formatted json)
function JSONtoBase64(jsonObj) { return Crypto.util.bytesToBase64(Crypto.charenc.UTF8.stringToBytes(Object.toJSON(jsonObj))); }; function base64ToJSON(bytes) { var jsonString = Crypto.charenc.UTF8.bytesToString(Crypto.util.base64ToBytes(bytes)); return jsonString.evalJSON(); };