25

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

Mohammed H
  • 6,568
  • 15
  • 77
  • 122
theHack
  • 1,828
  • 9
  • 25
  • 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,135
  • 4
  • 41
  • 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
  • 344,413
  • 96
  • 627
  • 693
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
  • 445
  • 3
  • 7
2

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

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

David Titarenco
  • 31,697
  • 13
  • 62
  • 109
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,123
  • 2
  • 13
  • 4