JSON-এ বাইনারি ডেটা পাঠানোর نموذج পদ্ধতি হল এটি Base64-এ এনকোড করা। জাভা Base64 এনকোড এবং ডিকোড করার জন্য একটি byte[] এর জন্য বিভিন্ন পদ্ধতি প্রদান করে। 그중 একটি হল 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);
- জাভাতে JSON পার্স কীভাবে
- জাভা Map কে JSON-এ কনভার্ট কীভাবে
- জাভা অবজেক্ট কে JSON-এ কনভার্ট কীভাবে
Base64 JSON ডিকোড করা
একটি Base64 এনকোড করা 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()"}
]
}
}
}