Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में JSON ऑब्जेक्ट को फ्लैट करना

मान लीजिए, हमारे पास निम्नलिखित JSON ऑब्जेक्ट है जिसमें किसी भी स्तर तक नेस्टिंग हो सकती है:

const obj = {
  "one": 1,
  "two": {
    "three": 3
  },
  "four": {
    "five": 5,
    "six": {
      "seven": 7
    },
    "eight": 8
  },
  "nine": 9
};

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा एक नेस्टेड JSON ऑब्जेक्ट लेता है और एक नया ऑब्जेक्ट लौटाता है जिसमें कोई नेस्टिंग नहीं होती और डॉट नोटेशन का उपयोग करके संबंधित मानों को कुंजियों से मैप करता है।

इसलिए, उपरोक्त ऑब्जेक्ट के मामले में, आउटपुट कुछ इस तरह दिखना चाहिए:

const output = {
  'one': 1,
  'two.three': 3,
  'four.five': 5,
  'four.six.seven': 7,
  'four.eight': 8,
  'nine': 9
};

कोड उदाहरण

const obj = {
  "one": 1,
  "two": {
    "three": 3
  },
  "four": {
    "five": 5,
    "six": {
      "seven": 7
    },
    "eight": 8
  },
  "nine": 9
};
const flattenJSON = (obj = {}, res = {}, extraKey = '') => {
  for(key in obj){
    if(typeof obj[key] !== 'object'){
      res[extraKey + key] = obj[key];
    }else{
      flattenJSON(obj[key], res, `${extraKey}${key}.`);
    };
  };
  return res;
};
console.log(flattenJSON(obj));

आउटपुट

{
  one: 1,
  'two.three': 3,
  'four.five': 5,
  'four.six.seven': 7,
  'four.eight': 8,
  nine: 9
}
  1. JavaScript में Blob ऑब्जेक्ट JavaScript में Blob ऑब्जेक्ट

    Blob ऑब्जेक्ट एक अपरिवर्तनीय (immutable) ऑब्जेक्ट को दर्शाता है जिसका उपयोग कच्चे डेटा (raw data) को प्रस्तुत करने के लिए किया जाता है। Blob में size और mime type प्रॉपर्टी होती हैं, ठीक वैसे ही जैसे किसी फाइल में होती हैं। File, Blob से व्युत्पन्न (derived) है और Blob का उपयोग उन स्थानों पर किया जा

  1. जावास्क्रिप्ट में RegExp ऑब्जेक्ट जावास्क्रिप्ट में RegExp ऑब्जेक्ट

    RegExp ऑब्जेक्ट का उपयोग टेक्स्ट में पैटर्न मिलान, खोज और टेक्स्ट के भाग को निकालने के लिए किया जाता है। RegExp ऑब्जेक्ट को या तो RegExp कंस्ट्रक्टर या लिटरल सिंटैक्स का उपयोग करके बनाया जा सकता है। जावास्क्रिप्ट में RegExp ऑब्जेक्ट के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html la

  1. जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र

    एक ऑब्जेक्ट इनिशियलाइज़र एक एक्सप्रेशन है जो हमें नए बनाए गए ऑब्जेक्ट को इनिशियलाइज़ करने की अनुमति देता है। यह एक ऑब्जेक्ट के प्रॉपर्टी नामों और संबंधित मानों के शून्य या अधिक जोड़ों की कॉमा-सेपरेटेड सूची है जो कर्ली ब्रेसेस {} में संलग्न होती है। जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र के लिए निम