JSON-এ বাইনারি পাঠানোর সাধারণ উপায় হল base64 এনকোড করা। জাভা Base64 এনকোড এবং বাইট ডিকোড করার বিভিন্ন উপায় প্রদান করে[]। এর মধ্যে একটি হল DatatypeConverter।
ধরুন নীচে তালিকাভুক্ত একটি JSON অ্যারে আছে:
{
"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}
}
JSON কে বেস64 হিসাবে এনকোড করুন
উপরের JSON এনকোড করতে, আমরা ব্যবহার করব
String base64Encoded = DatatypeConverter.printBase64Binary(jsonBytes);
সম্পর্কিত:
- কিভাবে জাভাতে JSON পার্স করবেন
- কিভাবে জাভা ম্যাপকে JSON-এ রূপান্তর করবেন
- কিভাবে জাভা অবজেক্টকে JSON এ রূপান্তর করা যায়
ডিকোড বেস64 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()"}
]
}
}
}