როგორ კოდირება და დეკოდირება JSON ბაიტის მასივი

JSON- ში ორობითი სისტემის გაგზავნის ტიპიური გზაა მისი 64 კოდირება. ჯავა გთავაზობთ Base64 კოდირებისა და ბაიტის დეკოდირების სხვადასხვა გზას []. ერთ-ერთი მათგანია DatatypeConverter.

დავუშვათ, რომ ჩვენ გვაქვს JSON მასივი, როგორც ქვემოთ ჩამოთვლილია:

{
'menu': {
'id': 'file',
'value': 'File',
'popup': {

'menuitem': [


{'value': 'New', 'onclick': 'CreateNewDoc()'},


{'value': 'Open', 'onclick': 'OpenDoc()'},


{'value': 'Close', 'onclick': 'CloseDoc()'}

]
}
} }


JSON კოდირება როგორც Base64

ზემოთ JSON- ის დასაშიფრად გამოვიყენებთ


String base64Encoded = DatatypeConverter.printBase64Binary(jsonBytes);

დაკავშირებული:



Base64 JSON გაშიფვრა

ბაზის 64 კოდირებული JSON- ის დეკოდირებისთვის გამოვიყენებთ


byte[] base64Decoded = DatatypeConverter.parseBase64Binary(base64Encoded);

მაგალითი კოდი:

import javax.xml.bind.DatatypeConverter; public class JsonEncodeDecode {
public static void main(String[] args) {
String json = '{'menu': { ' +


' 'id': 'file', ' +


' 'value': 'File', ' +


' 'popup': { ' +


' 'menuitem': [ ' +


'
{'value': 'New', 'onclick': 'CreateNewDoc()'}, ' +


'
{'value': 'Open', 'onclick': 'OpenDoc()'}, ' +


'
{'value': 'Close', 'onclick': 'CloseDoc()'} ' +


' ] ' +


' } ' +


'}}';

byte[] bytes = json.getBytes();

String base64Encoded = DatatypeConverter.printBase64Binary(bytes);
System.out.println('Encoded Json: ');
System.out.println(base64Encoded + ' ');

byte[] base64Decoded = DatatypeConverter.parseBase64Binary(base64Encoded);
System.out.println('Decoded Json: ');
System.out.println(new String(base64Decoded));
} }

დაშიფრული JSON გამომავალი:

eyJtZW51IjogewogICJpZCI6ICJmaWxlIiwKICAidmFsdW Შენიშვნა:დაშიფრული JSON მოწყვეტილია სისუფთავის გამო, თორემ ძალიან გრძელი სტრიქონია.

გაშიფრული JSON– ის გამოცემა:

{
'menu': {
'id': 'file',
'value': 'File',
'popup': {

'menuitem': [


{'value': 'New', 'onclick': 'CreateNewDoc()'},


{'value': 'Open', 'onclick': 'OpenDoc()'},


{'value': 'Close', 'onclick': 'CloseDoc()'}

]
}
} }