JSON में बाइनरी भेजने का सामान्य तरीका बेस 64 को एन्कोड करना है। जावा बेस 64 एनकोड और बाइट को डिकोड करने के विभिन्न तरीके प्रदान करता है []। इनमें से एक डेटाटाइप कनवर्टर है।
मान लीजिए कि हमारे पास नीचे सूचीबद्ध के रूप में एक 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);
संबंधित:
- Java में JSON को कैसे पार्स करें
- जावा मैप को JSON में कैसे बदलें
- Java ऑब्जेक्ट को JSON में कैसे बदलें
बेस64 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\": {\n" +
" \"id\": \"file\",\n" +
" \"value\": \"File\",\n" +
" \"popup\": {\n" +
" \"menuitem\": [\n" +
" {\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},\n" +
" {\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},\n" +
" {\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}\n" +
" ]\n" +
" }\n" +
"}}";
byte[] bytes = json.getBytes();
String base64Encoded = DatatypeConverter.printBase64Binary(bytes);
System.out.println("Encoded Json:\n");
System.out.println(base64Encoded + "\n");
byte[] base64Decoded = DatatypeConverter.parseBase64Binary(base64Encoded);
System.out.println("Decoded Json:\n");
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()"}
]
}
}
}