25

Is there JSON encode/decode base64 encode/decode function in JavaScript?

Mohammed H
  • 6,880
  • 16
  • 81
  • 127
theHack
  • 1,938
  • 9
  • 26
  • 33
  • possible duplicate of [How to base64 encode inside of javascript](http://stackoverflow.com/questions/3774622/how-to-base64-encode-inside-of-javascript). Searching is hard, apparently. http://stackoverflow.com/search?q=javascript+base64 – Matt Ball Jan 12 '11 at 03:28
  • take a look at: http://www.json.org/js.html – Alexar Sep 27 '11 at 03:19

5 Answers5

17

Yes, btoa() and atob() work in some browsers:

var enc = btoa("this is some text");
alert(enc);
alert(atob(enc));
david
  • 17,925
  • 4
  • 43
  • 57
5

JSON and base64 are completely independent.

Here's a JSON stringifier/parser (and direct GitHub link).

Here's a base64 Q&A. Here's another one.

Community
  • 1
  • 1
Matt Ball
  • 354,903
  • 100
  • 647
  • 710
4

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();
    };

Diego Marafetti
  • 465
  • 3
  • 7
2

For non-Mozilla browsers, use: http://www.webtoolkit.info/javascript-base64.html

For Mozilla browsers, use btoa() and atob().

David Titarenco
  • 32,662
  • 13
  • 66
  • 111
0

I don't think there's one built in, but here's the functions for JSON in jquery: (can't post links since I'm new)
jQuery.getJSON
jQuery.parseJSON

and here's a link for base64 encoding in javascript.
http://www.webtoolkit.info/javascript-base64.html

Andy
  • 2,263
  • 2
  • 14
  • 4