Oh MyUtils

JSON से CSV कनवर्टर - JSON ऐरे को CSV में बदलें ऑनलाइन

JSON ऐरे और CSV/TSV फॉर्मेट के बीच कन्वर्ट करें। नेस्टेड ऑब्जेक्ट फ़्लैटनिंग, टेबल प्रीव्यू और कस्टम डिलिमिटर सपोर्ट।

दिशा
डिलीमीटर
ऐरे
आउटपुट
इनपुट
CSV/TSV परिणाम
 

अक्सर पूछे जाने वाले प्रश्न

JSON to CSV कनवर्टर क्या है?

JSON to CSV कनवर्टर एक उपकरण है जो JSON (JavaScript Object Notation) डेटा को CSV (अल्पविराम से अलग मान) या TSV (टैब से अलग मान) सारणी प्रारूप में बदलता है, और इसके विपरीत भी। JSON डेटा को नेस्टेड ऑब्जेक्ट्स और एरे के रूप में संग्रहीत करता है, जबकि CSV डेटा को पंक्तियों और स्तंभों में प्रस्तुत करता है। डेवलपर्स और डेटा विश्लेषकों को API प्रतिक्रियाओं को स्प्रेडशीट में निर्यात करते समय या सिस्टम के बीच डेटा माइग्रेट करते समय इन प्रारूपों के बीच कनवर्ट करने की आवश्यकता होती है।

इस JSON to CSV कनवर्टर का उपयोग कैसे करें?

1. टैब का उपयोग करके रूपांतरण दिशा चुनें। 2. इनपुट क्षेत्र में डेटा पेस्ट करें या फ़ाइल अपलोड करें। 3. रूपांतरण स्वचालित रूप से रियल-टाइम में होता है। 4. JSON to CSV के लिए: डिलीमीटर और विकल्प चुनें। 5. CSV to JSON के लिए: डिलीमीटर स्वतः पहचाना जाता है। 6. आउटपुट और प्रीव्यू टेबल की समीक्षा करें। 7. कॉपी या डाउनलोड करें।

क्या मेरा डेटा सुरक्षित है? क्या यह सर्वर पर भेजा जाता है?

आपका डेटा 100% सुरक्षित है और कभी भी आपके ब्राउज़र से बाहर नहीं जाता। यह कनवर्टर पूरी तरह से क्लाइंट-साइड JavaScript में चलता है। कोई भी डेटा किसी सर्वर पर प्रसारित नहीं किया जाता, किसी डेटाबेस में संग्रहीत नहीं किया जाता, या कहीं भी लॉग नहीं किया जाता।

कनवर्टर नेस्टेड JSON ऑब्जेक्ट्स को कैसे हैंडल करता है?

नेस्टेड JSON ऑब्जेक्ट्स को डॉट-नोटेशन कॉलम हेडर का उपयोग करके फ्लैट किया जाता है। उदाहरण के लिए, {"user": {"name": "Alice", "address": {"city": "Seoul"}}} user.name और user.address.city नामक कॉलम बनाता है। एरे को दो तरीकों से हैंडल किया जा सकता है: Stringify मोड या Expand मोड।

यह टूल कौन सा CSV/TSV फॉर्मेट बनाता है?

यह टूल RFC 4180 अनुपालन CSV आउटपुट बनाता है। डिलीमीटर, डबल कोट्स या न्यूलाइन वाले फ़ील्ड स्वचालित रूप से डबल कोट्स में संलग्न होते हैं। पहली पंक्ति में डिफ़ॉल्ट रूप से कॉलम हेडर होते हैं।

अगर मेरा JSON डेटा एरे नहीं है तो क्या करें?

यह कनवर्टर इनपुट के रूप में JSON ऑब्जेक्ट एरे की अपेक्षा करता है। यदि इनपुट एक सिंगल JSON ऑब्जेक्ट है, तो कनवर्टर इसे स्वचालित रूप से सिंगल-एलिमेंट एरे में रैप कर देगा।

CSV को नेस्टेड ऑब्जेक्ट्स वाले JSON में कैसे कनवर्ट करें?

CSV को JSON में कनवर्ट करते समय, कनवर्टर डिफ़ॉल्ट रूप से फ्लैट JSON ऑब्जेक्ट एरे बनाता है। टाइप इंफ़रेंस सपोर्टेड है: न्यूमेरिक स्ट्रिंग्स नंबर बन जाती हैं, true/false बूलियन बन जाते हैं।

कोड उदाहरण

// JSON Array to CSV Converter (Client-side, no dependencies)

function flattenObject(obj, prefix = "") {
  const result = {};
  for (const [key, value] of Object.entries(obj)) {
    const fullKey = prefix ? `${prefix}.${key}` : key;
    if (value !== null && typeof value === "object" && !Array.isArray(value)) {
      Object.assign(result, flattenObject(value, fullKey));
    } else {
      result[fullKey] = value;
    }
  }
  return result;
}

function escapeField(value, delimiter = ",") {
  if (value === null || value === undefined) return "";
  const str = typeof value === "object" ? JSON.stringify(value) : String(value);
  if (str.includes(delimiter) || str.includes('"') || str.includes("\n")) {
    return `"${str.replace(/"/g, '""')}"`;
  }
  return str;
}

function jsonToCsv(jsonArray, options = {}) {
  const { delimiter = ",", includeHeader = true, flatten = true } = options;
  const rows = flatten ? jsonArray.map(item => flattenObject(item)) : jsonArray;
  const headerSet = new Set();
  rows.forEach(row => Object.keys(row).forEach(key => headerSet.add(key)));
  const headers = Array.from(headerSet);
  const lines = [];
  if (includeHeader) {
    lines.push(headers.map(h => escapeField(h, delimiter)).join(delimiter));
  }
  for (const row of rows) {
    lines.push(headers.map(h => escapeField(row[h], delimiter)).join(delimiter));
  }
  return lines.join("\n");
}

// Example usage
const data = [
  { name: "Alice", age: 30, address: { city: "Seoul" } },
  { name: "Bob", age: 25, address: { city: "Tokyo" } }
];
console.log(jsonToCsv(data));
// name,age,address.city
// Alice,30,Seoul
// Bob,25,Tokyo

संबंधित उपकरण