JSON থেকে CSV কনভার্টার
JSONJSON অবজেক্টের অ্যারেকে RFC 4180 কোটেশন সহ CSV-তে সমতল করে। ফলাফল ফাইল হিসেবে ডাউনলোড করুন।
এই পৃষ্ঠায়
JSON থেকে CSV কনভার্টার কী?#
একটি JSON থেকে CSV কনভার্টার অবজেক্টের একটি JSON অ্যারে নেয় — যে আকৃতিটি বেশিরভাগ API এবং ডেটাবেস সারি ফেরত দেওয়ার সময় নির্গত করে — এবং তা CSV টেক্সট, কমা-বিভাজিত মান হিসেবে লেখে। প্রতিটি অবজেক্ট একটি লাইন হয়ে যায়, প্রতিটি শীর্ষ-স্তরের কী একটি কলাম হয়ে যায়, এবং প্রথম লাইনে ফিল্ডের নাম থাকে। ফলাফল হলো সরল টেক্সট যা স্প্রেডশিট, ডেটা টুল এবং ডেটাবেস সরাসরি ইমপোর্ট করে।
CSV ততক্ষণ সামান্য মনে হয় যতক্ষণ না আপনাকে এটি সঠিকভাবে তৈরি করতে হয়। যে ফরম্যাটটি সর্বত্র কাজ করে তা হলো RFC 4180: কমা, দ্বি-উদ্ধৃতি, বা লাইন বিরতি ধারণকারী ফিল্ডগুলো অবশ্যই দ্বি-উদ্ধৃতিতে মোড়ানো হবে, এবং ফিল্ডের ভেতরে ইতিমধ্যে থাকা যেকোনো দ্বি-উদ্ধৃতি দ্বিগুণ করতে হবে ("")। লাইনগুলো CRLF দ্বারা বিভাজিত, একটি খালি নিউলাইন নয়। এর যেকোনো একটি ভুল হলে Smith, John বা He said "hi"-এর মতো একটি নাম বা মান নীরবে ডাউনস্ট্রিম কলামগুলো দূষিত করে — স্প্রেডশিট একটি অতিরিক্ত কলাম দেখে বা একটি ফিল্ড ছোট করে।
এই কনভার্টারটি এর সবই আপনার জন্য সামলায়, এবং এই অস্বস্তিকর সত্যটিও মোকাবিলা করে যে JSON হাইয়ারার্কিক্যাল এবং CSV সমতল: নেস্টেড অবজেক্টগুলো ডট-নোটেশন কলামে সমতল করা হয় (address.city), এবং অ্যারে বা অবজেক্ট ফিল্ড যেগুলো সমতল করা যায় না সেগুলো তাদের সেলের ভেতরে JSON টেক্সট হিসেবে সিরিয়ালাইজ করা হয়। আপনি বিভাজকও বেছে নেন — কমা, সেমিকোলন, ট্যাব, বা পাইপ — কারণ ভিন্ন লোকেলে “CSV” ভিন্ন ভিন্ন জিনিস বোঝায়।
ব্যবহারবিধি#
- বাঁদিকের ইনপুট পেইনে অবজেক্টের একটি JSON অ্যারে পেস্ট করুন। একটি একক অবজেক্ট, বা
{"data": [...]}-এর মতো একটি একক কী-এর অধীনে সারিগুলোকে মুড়ে একটি অবজেক্ট, গ্রহণযোগ্য। - বিভাজক বেছে নিন —
,(ডিফল্ট),;,Tab, বা|। সেমিকোলন হলো যা অনেক ইউরোপীয় লোকেল Excel থেকে প্রত্যাশা করে; ট্যাব TSV দেয়। - নেস্টেড অবজেক্টগুলোকে ডট-নোটেশন কলামে প্রসারিত করতে নেস্টিং সমতল করুন টিক দিন (ডিফল্টে চালু)। নেস্টেড অবজেক্টগুলোকে একটি একক সেলে JSON টেক্সট হিসেবে রাখতে টিক তুলে দিন।
- CSV লাইভ আউটপুট পেইনে উপস্থিত হয়, যেখানে প্রয়োজন সেখানে কোটিং প্রয়োগ করা হয়। স্ট্যাটাস লাইন সারির গণনা রিপোর্ট করে।
data.csvসংরক্ষণ করতে ডাউনলোড ক্লিক করুন, অথবা টেক্সটটি ক্লিপবোর্ডে নিতে কপি।- নমুনা একটি ছোট দুই-সারির ডেটাসেট লোড করে; মুছুন উভয় পেইন রিসেট করে।
মূল বৈশিষ্ট্য#
- RFC 4180 কোটিং। ফিল্ডগুলো মোড়ানো হয় এবং ভেতরের উদ্ধৃতিগুলো স্পেক যখন প্রয়োজন ঠিক তখনই দ্বিগুণ করা হয়, তাই মানের ভেতরের কমা, উদ্ধৃতি এবং লাইন বিরতি কখনো কলাম কাঠামো ভাঙে না।
- CRLF লাইন সমাপ্তি। আউটপুট Windows-স্টাইলের লাইন বিরতি ব্যবহার করে, যা প্ল্যাটফর্ম জুড়ে Excel এবং অন্যান্য স্প্রেডশিট সফটওয়্যারের সাথে সামঞ্জস্যতা বাড়ায়।
- বিভাজকের পছন্দ। কমা, সেমিকোলন, ট্যাব, বা পাইপ — আপনার ডাউনস্ট্রিম টুল যা প্রত্যাশা করে তা বেছে নিন, এবং কোটিং নির্বাচিত বিভাজকের সাথে খাপ খায়।
- ডট-নোটেশন সমতলকরণ। নেস্টেড অবজেক্টগুলো নামকৃত কলামে প্রসারিত হয় যাতে তাদের ভেতরের ফিল্ডগুলো আলাদাভাবে দাঁড়াতে পারে; অ্যারে এবং একগুঁয়ে অবজেক্টগুলো বাদ দেওয়ার বদলে JSON টেক্সট সেলে পরিণত হয়।
- অসম সারিতে স্থিতিশীল কলাম। হেডার হলো প্রতিটি সারির কী-এর ইউনিয়ন প্রথম-দেখা ক্রমে, তাই অতিরিক্ত বা অনুপস্থিত ফিল্ড সহ সারিগুলো এখনও সঠিকভাবে সারিবদ্ধ হয়।
ব্যবহারিক উদাহরণ#
নমুনা লোড করুন এবং ইনপুট হলো একটি দুই-সারির অ্যারে:
[
{ "name": "Ada Lovelace", "role": "Engineer", "skills": ["math", "logic"] },
{ "name": "Bob", "role": "PM", "skills": ["docs"] }
]
বিভাজক , সেট করা এবং নেস্টিং সমতল করুন চালু অবস্থায়, কলামগুলো হলো name, role, skills। skills ফিল্ড একটি অ্যারে, তাই এটি JSON টেক্সটে সিরিয়ালাইজ করা হয়; যেহেতু সেই টেক্সটটিতে কমা এবং দ্বি-উদ্ধৃতি আছে, এটি উদ্ধৃত করা হয় এবং এর ভেতরের উদ্ধৃতিগুলো দ্বিগুণ করা হয়:
name,role,skills
Ada Lovelace,Engineer,"[""math"",""logic""]"
Bob,PM,"[""docs""]"
দুটি জিনিস খেয়াল করুন যা কনভার্টারটি নীরবে এবং সঠিকভাবে করেছে। Ada Lovelace উদ্ধৃত নয়, কারণ এতে শুধু একটি স্পেস আছে — কোনো বিভাজক নেই, কোনো উদ্ধৃতি নেই, কোনো নিউলাইন নেই — তাই এটি মোড়ানো অর্থহীন। এবং Ada-এর জন্য skills সেলটি উদ্ধৃত ভেতরের দ্বিগুণ উদ্ধৃতি সহ, কারণ এতে কমা এবং " অক্ষর উভয়ই আছে যা অন্যথায় সারিটি দূষিত করত।
বিভাজক ;-এ স্যুইচ করুন এবং skills সেলের ভেতরের কমাগুলো আর বিভাজকের সাথে সংঘর্ষ করে না, কিন্তু ফিল্ডটি এখনও এমবেডেড দ্বি-উদ্ধৃতির কারণে উদ্ধৃত — কনভার্টারটি শুধু বিভাজক নয়, যেকোনো RFC 4180 ট্রিগার উপস্থিত থাকলে উদ্ধৃত করে।
প্রশ্নোত্তর#
আমার ডেটার দ্বি-উদ্ধৃতিগুলো কেন ""-এ দ্বিগুণ করা হয়?#
এটি RFC 4180 নিয়ম একটি উদ্ধৃত ফিল্ডের ভেতরে একটি আক্ষরিক দ্বি-উদ্ধৃতি এম্বেড করার জন্য: এটি দুবার লিখুন। He said "hi"-এর মতো একটি মান CSV-তে "He said ""hi""" হয়ে যায় — বাইরের উদ্ধৃতি ফিল্ডটি মুড়িয়ে দেয় (কারণ এতে একটি " আছে), এবং প্রতিটি ভেতরের " দ্বিগুণ করা হয় যাতে পার্সার জানে এটি ডেটা, ফিল্ডের শেষ নয়। যেসব টুল সঠিকভাবে CSV পড়ে সেগুলো ইমপোর্টের সময় মূল একক উদ্ধৃতিগুলো পুনরুদ্ধার করবে।
আমার ফিল্ডে একটি কমা আছে। এটি কি কলাম ভাঙবে?#
না। এমন যেকোনো ফিল্ড যা বিভাজক, একটি দ্বি-উদ্ধৃতি, একটি ক্যারেজ রিটার্ন, বা একটি নিউলাইন ধারণ করে তা স্বয়ংক্রিয়ভাবে দ্বি-উদ্ধৃতিতে মোড়ানো হয়, তাই Smith, John-এর মতো একটি মান "Smith, John" হয়ে যায় এবং একটি কলামে থাকে। আপনাকে নিজে হাতে কিছু এস্কেপ করতে হবে না।
আমি কমার বদলে সেমিকোলন বা ট্যাব কেন বেছে নেব?#
লোকেল। অনেক ইউরোপীয় লোকেলে Excel ডিফল্ট তালিকা বিভাজক হিসেবে ; ব্যবহার করে, তাই একটি কমা-বিভাজিত ফাইল সবকিছু এক কলামে পিষ্ট করে খোলে যতক্ষণ না আপনি পুনরায় ইমপোর্ট করেন। ট্যাব-বিভাজিত (TSV) সবচেয়ে নিরাপদ যখন আপনার ডেটাতে কমা এবং সেমিকোলন উভয়ই থাকতে পারে — ট্যাব কার্যত বাস্তব মানে কখনোই উপস্থিত হয় না। আপনার ডাউনস্ট্রিম টুল যা প্রত্যাশা করে তা বেছে নিন।
একটি নেস্টেড অবজেক্ট বা একটি অ্যারে ফিল্ডের কী হয়?#
নেস্টিং সমতল করুন চালু অবস্থায়, একটি নেস্টেড অবজেক্ট ডট-নোটেশন কলামে প্রসারিত হয় (address.city, address.zip), তাই প্রতিটি ভেতরের মান তার নিজস্ব কলাম পায়। একটি অ্যারে ফিল্ডকে ক্ষয়হীনভাবে কলামে সমতল করা যায় না, তাই এটি তার সেলের ভেতরে JSON টেক্সট হিসেবে সিরিয়ালাইজ করা হয় — যেমন ["math","logic"]। কিছুই বাদ দেওয়া হয় না; আপনি যদি প্রতিটি অ্যারে উপাদান তার নিজস্ব সারিতে চান, তবে প্রথমে JSON পুনর্গঠন করুন।