CSV থেকে JSON কনভার্টার
বাম দিকে CSV (বা TSV) পেস্ট করুন, ডান দিকে অবজেক্টের JSON অ্যারে পান। হেডার স্বয়ংক্রিয়ভাবে শনাক্ত হয়। আপলোড নেই।
- বাম টেক্সট এরিয়ায় আপনার CSV পেস্ট করুন।
- "JSON-এ রূপান্তর" ক্লিক করুন। প্রথম সারিকে হেডার ধরা হয়।
- JSON অ্যারে কপি করুন বা data.json হিসেবে ডাউনলোড করুন।
- TSV (ট্যাব-সেপারেটেড) এবং অন্যান্য ডেলিমিটার PapaParse স্বয়ংক্রিয়ভাবে শনাক্ত করে।
এটি কী করে?
CSV (RFC 4180-তুল্য) কে JSON অ্যারেতে পার্স করে যেখানে প্রতিটি অবজেক্ট কী হেডার কলামের সাথে মেলে। কোটেড ফিল্ড, ভিতরে কমা, এসকেপড ডাবল-কোট, এবং CRLF / LF লাইন এন্ডিং সবই সামলানো হয়। সংখ্যা, বুলিয়ান এবং null-সদৃশ মান ("true", "false", খালি) স্বয়ংক্রিয়ভাবে টাইপ হয়। ডেলিমিটার অটো-ডিটেক্ট — TSV, সেমিকোলন বা পাইপ-সেপারেটেড ডেটা পেস্ট করলেও কাজ করে।
উদাহরণ
CSV ইনপুট:
name,age,role
Ada,36,engineer
Grace,40,scientist JSON আউটপুট:
[
{"name": "Ada", "age": 36, "role": "engineer"},
{"name": "Grace", "age": 40, "role": "scientist"}
] সাধারণ CSV সমস্যা ও সমাধান
CSV সরল মনে হলেও প্রত্যাশার চেয়ে বেশি প্রান্ত-পরিস্থিতি আছে। এসব প্যাটার্ন অপ্রত্যাশিত আউটপুট তৈরি করে।
- কোট ছাড়াই ভিতরে কমা। `Smith, John`-এর মতো ফিল্ড (চারপাশে কোট ছাড়া) দুই কলামে ভাগ হয়। ডাবল কোটে মুড়ে দিন: `"Smith, John"`।
- ফিল্ডের ভিতর ডাবল-কোট। কোটেড ফিল্ডের ভেতরে আক্ষরিক `"` দ্বিগুণ করে এসকেপ করতে হয়: `"He said ""hi"""` ডিকোড হয়ে `He said "hi"` হয়। ব্যাকস্ল্যাশ এসকেপিং (`\"`) মানক নয়, সমর্থিত নয়।
- কলাম সংখ্যায় অসঙ্গতি। হেডারের চেয়ে কম কলাম থাকা সারিতে অনুপস্থিত কী null হয়; বেশি কলাম থাকলে পার্স ওয়ার্নিং দেখায়। রূপান্তর সম্পূর্ণ হয়, তবু আউটপুট পরীক্ষা করুন।
- অগ্রবর্তী শূন্য হারানো সাংখ্যিক ID। `007` স্ট্রিং "007" নয়, সংখ্যা 7 হিসেবে পার্স হয়। অগ্রবর্তী শূন্য গুরুত্বপূর্ণ হলে (পিন কোড, ফোন নম্বর) ফিল্ড আগে কোট দিয়ে প্রি-প্রসেস করুন — ডাউনস্ট্রিম কোডে ডায়নামিক টাইপিং বন্ধ করলে কোটেড মান স্ট্রিং থাকে।
- ফাইলের শুরুতে BOM। Excel-সেভড CSV প্রায়ই UTF-8 BOM (`\uFEFF`) ধারণ করে। পার্সার অপসারণ করে, কিন্তু হেক্স এডিটর থেকে কাঁচা বাইট পেস্ট করলে প্রথম হেডারে BOM অসঙ্গতিপূর্ণ ক্যারেক্টার হিসাবে দেখাতে পারে।
- মিশ্র লাইন এন্ডিং। CRLF (Windows), LF (Unix), CR (পুরাতন Mac) সবই চেনা। আউটপুট যদি বিশাল এক সারির মত দেখায়, ফাইলে হয়তো লাইন ব্রেক একদম নেই — `\n` ছাড়া জোড়া দিয়ে তৈরি CSV-তে সাধারণ।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
এটি কি ট্যাব-সেপারেটেড ভ্যালু (TSV) সমর্থন করে?
হ্যাঁ। PapaParse ইনপুটের প্রথম 1 KB থেকে ডেলিমিটার অটো-ডিটেক্ট করে। ট্যাব, সেমিকোলন, পাইপ এবং কমা কোনো কনফিগারেশন ছাড়াই কাজ করে। ডিটেকশন ভুল হলে (বাস্তব ডেটায় বিরল) ফিল্ড স্পষ্টভাবে আলাদা করুন বা প্রি-প্রসেস করুন।
আমার CSV-এ হেডার সারি না থাকলে কী হবে?
বর্তমান কনফিগারেশন প্রথম সারিকে হেডার ধরে। হেডারলেস হলে পেস্টের আগে `a,b,c`-এর মত একটি কৃত্রিম হেডার সারি যোগ করুন — অথবা অ্যারে-অফ-অ্যারে আউটপুট লাগলে কমান্ড লাইনে PapaParse-এ `header: false` ব্যবহার করুন।
তারিখ কীভাবে সামলানো হয়?
স্ট্রিং হিসেবেই থাকে। পার্সার শুধু সংখ্যা ও বুলিয়ান অটো-টাইপ করে — তারিখ ফরম্যাটের অস্পষ্টতা (`01/02/03` মার্কিন যুক্তরাষ্ট্রে 2 জানুয়ারি, যুক্তরাজ্যে 1 ফেব্রুয়ারি) ঝুঁকিপূর্ণ বলে ইচ্ছাকৃতভাবে অটো-পার্সিং নেই। উৎসের কনভেনশন জানা ডাউনস্ট্রিমে পার্স করুন।
খুব বড় CSV ফাইল কি রূপান্তর করা যায়?
প্রায় 50 MB পর্যন্ত ব্রাউজার সহজে চলে। বটলনেক টেক্সট এরিয়া, পার্সার নয় — বড় ফাইলের জন্য কমান্ড লাইনে PapaParse চালান। লাইব্রেরি একই।
আমার CSV কি কোথাও আপলোড হয়?
না। সবকিছু আপনার ব্রাউজারে চলে — ডেটা এই পৃষ্ঠার JavaScript পার্স করে এবং কোনো সার্ভারে পাঠায় না। ব্রাউজার ডেভটুলে যাচাই করুন: রূপান্তর ক্লিকে শূন্য নেটওয়ার্ক রিকোয়েস্ট।
অন্য আকারের JSON (নেস্টেড, গ্রুপড) কীভাবে পাবো?
এই টুল ফ্ল্যাট অবজেক্টের ফ্ল্যাট অ্যারে তৈরি করে — CSV যা প্রকাশ করতে পারে। নেস্টেড স্ট্রাকচার চাইলে আউটপুট স্ক্রিপ্ট দিয়ে পোস্ট-প্রসেস করুন (কলামে গ্রুপ, প্রিফিক্স দিয়ে ফিল্ড নাম, ইত্যাদি)। CSV-তে সোপান এনকোড করার চেষ্টা সাধারণত আরও সমস্যা আনে।