JSON গাইড: ডকুমেন্ট ও ডেটাকে JSON-এ এবং ফিরিয়ে রূপান্তর করুন
এই গাইডে ব্যাখ্যা করা হয়েছে JSON টুলগুলো কীভাবে ফাইল পড়ে ও লেখে এবং প্রতিটি কাজের জন্য কোন টুল ব্যবহার করবেন তা।
কেন JSON
JSON হলো এমন ডেটা ফরম্যাট যা প্রোগ্রাম, ওয়েব সার্ভিস এবং AI মডেল সবচেয়ে সহজে পড়ে: নামযুক্ত ফিল্ডসহ অবজেক্ট, লিস্ট, সংখ্যা, টেক্সট, true, false এবং null, আর কিছু নয়। ডকুমেন্ট ও স্প্রেডশিট এভাবে সংরক্ষিত হয় না। এই পরিবারের টুলগুলো দুই দিকেই সেই ফারাক ঘুচিয়ে দেয়: এগুলো PDF, Word ফাইল, স্প্রেডশিট, CSV, YAML ও XML-কে JSON-এ পরিণত করে, এবং JSON-কে এমন ফাইলে ফিরিয়ে দেয় যা মানুষ পড়তে পারে, যেমন PDF, Word, Excel, CSV ও HTML।
প্রতিটি টুল একটি সুরক্ষিত সংযোগের মাধ্যমে আমাদের সার্ভারে চলে এবং আপলোড করা ফাইল 60 মিনিটের মধ্যে মুছে দেয়। টেক্সট ইনপুট আপলোড করার পরিবর্তে সরাসরি পেস্ট করা যায়।
কোন কাজের জন্য কোন টুল
| আপনার কাছে আছে | আপনি চান | ব্যবহার করুন |
|---|---|---|
| একটি PDF | টেক্সট, টেবিল এবং মেটাডেটা ডেটা হিসেবে | PDF থেকে JSON |
| একটি Word ডকুমেন্ট | হেডিং, প্যারাগ্রাফ, লিস্ট ও টেবিল ডেটা হিসেবে | Word থেকে JSON |
| একটি Excel ওয়ার্কবুক | রেকর্ড, রো বা কলাম | Excel থেকে JSON |
| একটি CSV বা TSV ফাইল | টাইপযুক্ত মানসহ একটি JSON অ্যারে | CSV থেকে JSON |
| একটি YAML ফাইল | JSON হিসেবে একই ডেটা | YAML থেকে JSON |
| একটি XML ফাইল | অবজেক্ট, অ্যাট্রিবিউট ও অ্যারে | XML থেকে JSON |
| JSON | পড়া বা প্রিন্ট করার জন্য একটি PDF | JSON থেকে PDF |
| JSON | একটি Excel ওয়ার্কবুক | JSON থেকে Excel |
| JSON | একটি CSV ফাইল | JSON থেকে CSV |
| JSON | একটি এডিটযোগ্য Word ডকুমেন্ট | JSON থেকে Word |
| JSON | একটি ওয়েব পেজ | JSON থেকে HTML |
| JSON | একটি কনফিগারেশন ফাইলের জন্য YAML | JSON থেকে YAML |
| JSON | অন্য সিস্টেমের জন্য XML | JSON থেকে XML |
| এলোমেলো বা অবৈধ JSON | পরিষ্কার, বৈধ JSON | JSON ফরম্যাটার |
| দুটি JSON ফাইল | কী পরিবর্তিত হয়েছে তার একটি তালিকা | JSON তুলনা করুন |
Markdown-এর নিজস্ব জোড়া আছে: Markdown থেকে JSON একটি ডকুমেন্ট ট্রি এক্সপোর্ট করে এবং JSON থেকে Markdown JSON-কে একটি Markdown আউটলাইন বা টেবিলে পরিণত করে।
ডকুমেন্ট ফরম্যাট
PDF থেকে JSON এবং Word থেকে JSON একই শেপ লেখে, তাই একটি কোডের টুকরো দুটোই সামলাতে পারে। সবচেয়ে উপরের লেভেলে সবসময় এই ফিল্ডগুলো থাকে:
{
"format": "acepdfmd-document",
"version": 1,
"source": {"type": "pdf", "filename": "report.pdf", "title": "Q3 Report", "pages": 12},
"pages": [{"number": 1, "width": 612, "height": 792, "words": 380, "text": "..."}],
"blocks": [
{"type": "heading", "level": 1, "text": "Q3 Report"},
{"type": "paragraph", "text": "Revenue grew..."},
{"type": "list", "ordered": false, "items": [{"level": 0, "text": "Europe"}]},
{"type": "table", "header": ["Region", "Q3"], "rows": [["Europe", 1200.5]]}
],
"tables": [{"index": 1, "page": 3, "rows": [["Region", "Q3"], ["Europe", 1200.5]]}],
"form_fields": [{"name": "email", "type": "text", "value": "[email protected]"}],
"extraction": {"engine": "pdf_to_markdown/layout", "mode": "structure", "ocr": false, "warnings": []}
}
ফিল্ডগুলোর অর্থ নিচে দেওয়া হলো:
- source: ফাইলটি কী ছিল, এর সাথে থাকা মেটাডেটাসহ (শিরোনাম, লেখক, বিষয়, কীওয়ার্ড, তৈরি ও পরিবর্তনের তারিখ, পৃষ্ঠাসংখ্যা)। Word ফাইলে শব্দ, টেবিল ও ছবির সংখ্যাও যুক্ত হয়।
- pages: প্রতিটি PDF পৃষ্ঠার জন্য একটি এন্ট্রি, পয়েন্টে তার আকার, তার রোটেশন, একটি শব্দসংখ্যা এবং তার টেক্সটসহ। Word ফাইলে কোনো পৃষ্ঠা থাকে না, কারণ Word পৃষ্ঠা তখনই সাজায় যখন এটি প্রিন্ট করে।
- blocks: পড়ার ক্রমে ডকুমেন্ট। ধরনগুলো হলো heading (লেভেল 1 থেকে 6 সহ), paragraph (Word থেকে ঐচ্ছিক একটি স্টাইলের নামসহ), list (অর্ডারড বা নয়, নেস্টিং লেভেলসহ আইটেম), table (হেডার এবং টাইপযুক্ত রো), code, blockquote, rule এবং image।
- tables: PDF-এর জন্য, খুঁজে পাওয়া প্রতিটি টেবিল যেই পৃষ্ঠায় পাওয়া গেছে সেটিসহ, এবং কোনো টেবিল একাধিক পৃষ্ঠায় চলতে থাকলে যেই পৃষ্ঠায় শেষ হয়েছে সেটিসহ। সংখ্যার মতো দেখতে সেল সংখ্যাই হয়।
- form_fields: শুধুমাত্র PDF-এ একটি ফর্ম থাকলে উপস্থিত থাকে। প্রতিটি ফিল্ডের নাম, ধরন (text, choice, button বা signature) এবং বর্তমান মান থাকে।
- extraction: কোন কনভার্টার চলেছে, আপনি যেই মোড বেছে নিয়েছেন, OCR প্রয়োজন হয়েছিল কিনা, এবং যেকোনো সতর্কতা, যেমন কোনো টেবিল খুঁজে না পাওয়া।
এই ফরম্যাটের সংস্করণ 1 কেবল ফিল্ড যুক্ত করবে; বিদ্যমান ফিল্ডগুলো তাদের নাম ও অর্থ বজায় রাখবে।
ট্যাবুলার ডেটা ও নেস্টিং
CSV এবং Excel ফ্ল্যাট, JSON নয়। JSON যখন CSV বা Excel-এ যায়, নেস্টেড অবজেক্ট ডটেড কলাম নামে এবং অ্যারে ইনডেক্সড নামে ফ্ল্যাট হয়ে যায়, ফলে একটি গ্রাহক অবজেক্ট এবং একটি আইটেম অ্যারেসহ একটি অর্ডার রেকর্ড customer.name, items[0].sku এবং items[1].sku-এর মতো কলামে পরিণত হয়। CSV বা Excel যখন ফিরে JSON-এ আসে, তখন এই ধরনে লেখা হেডার নেস্টেড অবজেক্ট ও অ্যারেতে পুনর্গঠিত হয়। কোনো সাধারণ ডট থাকা একটি হেডার, যেমন একটি ভার্সন নম্বর বা সংক্ষিপ্ত রূপ, তেমনই রেখে দেওয়া হয়।
মান আসার সময় টাইপ করা হয়: সংখ্যা সংখ্যা হয়ে যায়, true ও false বুলিয়ান হয়ে যায়, খালি সেল null হয়ে যায়, এবং অন্য সবকিছু স্ট্রিং থাকে। Excel থেকে আসা তারিখ ISO 8601 স্ট্রিং হিসেবে লেখা হয়, কারণ JSON-এ কোনো তারিখ টাইপ নেই। শুরুতে শূন্যযুক্ত পরিচয়পত্র ঠিক যেমন লেখা তেমনই রাখতে হলে ভ্যালু টাইপ অপশনটি টেক্সটে পরিবর্তন করুন।
যাচাই ও মেরামত
প্রতিটি JSON টুল তার ইনপুট একইভাবে যাচাই করে। একটি অবৈধ ফাইল প্রথম ভুলের লাইন ও কলাম, এবং সেই লাইনের একটি সংক্ষিপ্ত অংশসহ প্রত্যাখ্যাত হয়। JSON ফরম্যাটার মানুষ যেসব ভুল সবচেয়ে বেশি পেস্ট করে তাও মেরামত করতে পারে: কমেন্ট, ট্রেইলিং কমা, সিঙ্গেল-কোটেড স্ট্রিং, আনকোটেড কী, ক্যাপিটালাইজড True, False ও None, NaN ও Infinity, এবং টেক্সটের চারপাশের কোড ফেন্স। মেরামত প্রয়োগ করা হলে ফলাফল আপনাকে বলে দেয়, তাই কিছুই আপনার অজান্তে নিঃশব্দে পরিবর্তিত হয় না।
গোপনীয়তা
আপলোড করা ফাইল ও পেস্ট করা টেক্সট আমাদের সার্ভারে প্রসেস করা হয় এবং 60 মিনিটের মধ্যে মুছে দেওয়া হয়; বিস্তারিত জানতে দেখুন গোপনীয়তা গাইড। এই সময়ের বাইরে কিছুই সংরক্ষিত থাকে না এবং অন্য কোনো উদ্দেশ্যে কিছুই ব্যবহৃত হয় না।