2011-01-12 4 views
22

Czy funkcja kodowania/dekodowania JSON koduje/dekoduje base64/kodowanie w języku JavaScript?Kodowanie/dekodowanie JSON kodowania/dekodowania base64 w kodzie JavaScript

+0

możliwy duplikat [Jak kodowanie base64 wewnątrz javascript] (http://stackoverflow.com/questions/3774622/how-to-base64-encode-inside-of-javascript). Najwyraźniej wyszukiwanie jest trudne. http://stackoverflow.com/search?q=javascript+base64 –

+0

spójrz na: http://www.json.org/js.html – Alexar

Odpowiedz

15

Tak, btoa() i atob() działa w niektórych przeglądarkach:

var enc = btoa("this is some text"); 
alert(enc); 
alert(atob(enc)); 
+16

'" Niektóre przeglądarki "===" Gecko i WebKit "' –

+4

@Matt Ball. Większość języków obala to :) – Ben

+5

javascript: window.opera && window.btoa && confirm ("hi") – goat

0

Nie sądzę, istnieje jeden wbudowany, ale tu funkcje dla JSON w jQuery (nie można dodawać linki, ponieważ jestem nowy)
jQuery.getJSON
jQuery.parseJSON

i tutaj jest link do kodowania base64 w javascript.
http://www.webtoolkit.info/javascript-base64.html

+0

jQuery.parseJSON został dodany w wersji 1.4 i nie działa w poprzednich wersjach. – Alexar

+0

Złamane/puste łącze –

4

To może być pomocne dla Ciebie. Za pomocą kombinacji tego projektu crypto-js i Prototype do analizowania JSON pisałem dwa funkcję kodowania/dekodowania JSON oprzeć 64. (funkcje te nie sprawdzić, nie jest dobrze sformatowany 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(); 
    };