JSON থেকে CSV

আপনার ডিভাইসেই চলে · আপনার ফাইল কখনও আপনার ডিভাইস ছেড়ে যায় না।

.json ফাইল দিন বা API-র উত্তরটা সরাসরি পেস্ট করুন, আর পান এমন CSV যা Excel, Google Sheets বা যেকোনো import স্ক্রিনে খোলে। উপরের স্তরে একটা লিস্ট থাকলে প্রতিটা আইটেম এক সারি; না থাকলে ডকুমেন্টের সবচেয়ে লম্বা রেকর্ড-লিস্টটা নেওয়া হয়, তাই {"results": [...], "count": 2} থেকে প্রতিটা result-এ এক সারি আসে; কোনো লিস্ট নেই এমন অবজেক্ট এক সারি হয়।

নিয়মগুলো বাঁধা, তাই ফল আগেই অনুমান করা যায়: ভেতরের অবজেক্ট ডট দেওয়া কলাম হয় (address.city), সাধারণ মানের লিস্ট এক ঘরে সেমিকোলন দিয়ে জোড়া হয়, আর রেকর্ডের ভেতরের অবজেক্ট-লিস্ট নম্বর দেওয়া কলাম পায় (items.0.name)। হেডার সারিতে পাওয়া সব কি একসঙ্গে বসে, যে ক্রমে প্রথম দেখা গেছে সেই ক্রমে।

CSV লেখা হয় RFC 4180 মেনে — কমা, উদ্ধৃতি বা লাইন ব্রেক থাকা ঘর ঠিকভাবে উদ্ধৃতিতে বসে — UTF-8-এ, চাইলে Excel-এর জন্য BOM সহ, যাতে বাংলা বা যেকোনো লিপির লেখা ভেঙে না যায়। =, +, - বা @ দিয়ে শুরু হওয়া ঘরের সামনে একটা অ্যাপোস্ট্রফি বসে, যাতে স্প্রেডশিট সেটাকে ফর্মুলা হিসেবে না চালিয়ে লেখা হিসেবে দেখায়। ডাউনলোডের আগে প্রথম 200 লাইন দেখে নিতে পারেন।

JSON থেকে CSV: কীভাবে করবেন

  1. JSON ফাইল দিন, বা বাক্সে JSON পেস্ট করুন।
  2. কলামের বিভাজক বেছে নিন (ডিফল্ট কমা) আর Excel BOM লাগবে কি না ঠিক করুন।
  3. «CSV-এ কনভার্ট করুন» চেপে প্রথম কয়েক লাইন দেখে নিন।
  4. .csv ডাউনলোড করুন।

সমর্থিত ফরম্যাট ও সীমা

ইনপুট
JSON (.json) — ফাইল বা পেস্ট করা লেখা, UTF-8
আউটপুট
CSV, RFC 4180, UTF-8, CRLF, চাইলে BOM
Nesting
অবজেক্ট → ডট কলাম; মানের লিস্ট → ; দিয়ে জোড়া
বিভাজক
কমা, সেমিকোলন, ট্যাব বা পাইপ
যেখানে চলে
আপনার ব্রাউজারেই — আপলোড ছাড়া

যার জন্য নয়: ভেতরে ভেতরে ঢোকানো একটামাত্র অবজেক্ট, যার ভেতরে কোনো লিস্ট নেই — সেটাও কনভার্ট হয়, কিন্তু টেবিল নয়, খুব চওড়া একটা সারি হয়ে।

কোন লিস্ট সারি হয়

উপরের স্তরে লিস্ট থাকলে সেটাই সারি। না থাকলে টুল ডকুমেন্টের ভেতরে আট স্তর পর্যন্ত খুঁজে নেয় অবজেক্টের সবচেয়ে লম্বা লিস্টটা। তাই {"response": {"data": {"items": [...]}}} আর {"results": [...], "count": 2, "next": null} দুটো থেকেই প্রতি আইটেমে এক সারি আসে, আর ফলের নিচের লাইন জানায় কোন লিস্ট নেওয়া হলো, যেমন results। লিস্টের পাশের মান, যেমন count আর next, কোনো রেকর্ডের অংশ নয়, তাই বাদ পড়ে।

সমান লম্বা দুটো লিস্ট হলে যেটা ওপরের দিকে, সেটা জেতে। ছোট কোনো লিস্ট চাইলে সেটা তার [ থেকে ] পর্যন্ত কপি করে শুধু ওইটুকু পেস্ট করুন। যে ডকুমেন্টে অবজেক্টের কোনো লিস্ট নেই, সেটা এক সারি হয়, আর একটামাত্র কি-ওয়ালা মোড়ক পেরিয়ে ভেতরে যাওয়া হয়, তাই {"order": {"id": 7, "total": 12}} থেকে কলাম হয় id আর total।

মানগুলো ঘরে কীভাবে লেখা হয়

লেখা কপি হয় হুবহু, তারিখও — JSON-এ যে রূপে আছে সেই রূপেই থাকে, যেমন 2024-01-05T10:00:00Z। true আর false লেখা হয় শব্দ হিসেবে। null, ফাঁকা লিস্ট আর ফাঁকা অবজেক্ট সবই হয় ফাঁকা ঘর, তাই CSV-তে এগুলো দেখতে না-থাকা ফিল্ডের মতোই।

সংখ্যা লেখা হয় ঠিক JSON-এ যেমন আছে: 1.0 থাকে 1.0, 1e21 থাকে 1e21, আর 12345678901234567890-এর মতো আইডি উদ্ধৃতিচিহ্ন ছাড়াও প্রতিটা অঙ্ক রাখে। সাধারণ একটা JSON রিডার ওই আইডিকে বানিয়ে দিত 12345678901234567000।

লিস্টের ভেতরে লিস্ট, আর আগে থেকেই ডট-ওয়ালা কি

লিস্টের লিস্ট এক স্তর খোলা হয়: "m": [[1, 2], [3]] থেকে আসে m.0 কলাম, তাতে 1;2, আর m.1 কলাম, তাতে 3। যে লিস্টে অবজেক্ট আর সাধারণ মান মেশানো, তার প্রতিটা এন্ট্রি নম্বর পায়, তাই "x": [{"z": 1}, 2] থেকে আসে x.0.z আর x.1।

কলামের নাম বানানো হয় কি-গুলো ডট দিয়ে জুড়ে, তাই যে কি-তে আগে থেকেই ডট আছে, সেটা ভেতরের কোনো কি-র সঙ্গে একই নাম পেয়ে যেতে পারে: {"a.b": 1, "a": {"b": 2}} থেকে দুবার a.b হতো। দ্বিতীয়টার শেষে কিছু যোগ হয়, তাই কলাম হয় a.b আর a.b_2, আর দুটো মানই থাকে।

বিভাজক বাছাই, আর = দিয়ে শুরু হওয়া ঘর

সাধারণ পছন্দ কমা। যে ভাষায় দশমিক লেখা হয় কমা দিয়ে, সেই ভাষায় সেট করা স্প্রেডশিটের জন্য সেমিকোলন মানানসই, কারণ সেখানে কমা দেওয়া ফাইল প্রায়ই একটা কলামেই খোলে। ট্যাব আর পাইপ সেই সিস্টেমগুলোর জন্য, যারা এগুলো চায়। বিভাজক যা-ই হোক, ফাইলের নাম হয় .csv।

=, +, - বা @ দিয়ে শুরু হওয়া ঘর স্প্রেডশিটের কাছে একটা ফর্মুলা, যা ফাইল খোলার সময়ই চলে যেত। এমন ঘরের সামনে বসে একটা অ্যাপোস্ট্রফি — স্প্রেডশিট নিজেই «এটা লেখা» বোঝাতে যে চিহ্ন ব্যবহার করে — তাই =1+1 লেখা হয় '=1+1। -5 বা +3.5-এর মতো সাধারণ সংখ্যা যেমন আছে তেমনই থাকে।

সাধারণ জিজ্ঞাসা

Excel-এ বাংলা লেখা ভেঙে যায় কেন?
Excel ফাইলটা UTF-8 ধরে না নিলে ওটা হয়। «Excel-এর জন্য BOM যোগ করুন» চালু রেখে ডাউনলোড করুন; তখন Excel সরাসরি ঠিক করে দেখায়।
আমার ফাইল কি কোনো সার্ভারে আপলোড হয়?
না। পুরো কাজটা হয় আপনার ব্রাউজারেই, আপনার নিজের ফোন বা কম্পিউটারের ক্ষমতায়। ফাইল ডিভাইস ছেড়ে কোথাও যায় না। কোনো টুল একবার ব্যবহার করা হয়ে গেলে ইন্টারনেট ছাড়াও সেটা চলে — ভিডিও, লেখা চেনা আর ব্যাকগ্রাউন্ড সরানোর টুল প্রথমবার নিজের ইঞ্জিন এই সাইট থেকে নামিয়ে নেয়, তারপর ব্রাউজার সেটা রেখে দেয়।
সেমিকোলন দিয়ে আলাদা করা CSV পাওয়া যাবে?
যাবে। কমা, সেমিকোলন, ট্যাব বা পাইপ — যেকোনো একটা বেছে নিন।
ভেতরে ঢোকানো (nested) JSON কী হয়?
ভেতরের অবজেক্ট ডট দেওয়া কলাম হয় (address.city); সাধারণ মানের লিস্ট এক ঘরে ; দিয়ে জোড়া হয় (a;b); আর রেকর্ডের ভেতরের অবজেক্ট-লিস্ট নম্বর দেওয়া কলাম পায় (items.0.name)।
ফাইল না দিয়ে পেস্ট করা যাবে?
যাবে। বাক্সে JSON পেস্ট করে দিলেই হয়।

সম্পর্কিত টুল

স্প্রেডশিট ও ডেটা বিভাগে আরও

এই পাতা অন্য ভাষায়: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia