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

जावास्क्रिप्ट में JSON सरणी को सामान्य json में बदलें

<घंटा/>

मान लीजिए, हमारे पास इस तरह की कुंजी/मान जोड़ी वस्तुओं के साथ एक JSON सरणी है -

const arr = [{
   "key": "name",
   "value": "john"
},
{
   "key": "number",
   "value": "1234"
},
{
   "key": "price",
   "value": [{
      "item": [{
         "item": [{
            "key": "quantity",
            "value": "20"
         },
         {
            "key": "price",
            "value": "200"
         }]
      }]
   }]
}];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी सरणी लेता है।

फ़ंक्शन को एक नई सरणी तैयार करनी चाहिए जहां डेटा को इस जटिल संरचना के बजाय केवल कुंजी मान के विरुद्ध सूचीबद्ध किया जाता है।

इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -

const output = {
   "name": "john",
   "number": "1234",
   "price": {
      "quantity": "20",
      "price": "200"
   }
};

उदाहरण

इसके लिए कोड होगा -

const arr = [{
   "key": "name",
   "value": "john"
},
{
   "key": "number",
   "value": "1234"
},
{
   "key": "price",
   "value": [{
      "item": [{
         "item": [{
            "key": "quantity",
            "value": "20"
         },
         {
            "key": "price",
            "value": "200"
         }]
      }]
   }]
}];
const simplify = (arr = []) => {
   const res = {};
   const recursiveEmbed = function(el){
      if ('item' in el) {
         el.item.forEach(recursiveEmbed, this);
         return;
      };
      if (Array.isArray(el.value)) {
         this[el.key] = {};
         el.value.forEach(recursiveEmbed, this[el.key]);
         return;
      };
      this[el.key] = el.value;
   };
   arr.forEach(recursiveEmbed, res);
   return res;
};
console.log(simplify(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

{
   name: 'john',
   number: '1234',
   price: { quantity: '20', price: '200' }
}

  1. जावास्क्रिप्ट में MySQL DATETIME मान को JSON फॉर्मेट में कैसे बदलें?

    कनवर्ट करने के लिए, JSON.stringify() का उपयोग करें। जावास्क्रिप्ट में MySQL DATETIME मान को JSON फॉर्मेट में बदलने के लिए कोड निम्नलिखित है - <script> var mySQLDateTime = new Date("Fri Sep 06 2019 22 −54 −48 "); var yearValue = mySQLDateTime.getFullYear(); var dateValue =

  1. जावास्क्रिप्ट एक सरणी को JSON में बदलें

    जावास्क्रिप्ट में किसी सरणी को JSON में बदलने के लिए, कोड इस प्रकार है - उदाहरण body { font-family:Segoe UI, Tahoma, Geneva, Verdana, sans-serif; }सरणी को JSON में बदलनायहां क्लिक करें सरणी को JSON में बदलने के लिए उपरोक्त बटन पर क्लिक करें let sampleEle =document.querySelector(.sample); लेट एरर =[

  1. जावास्क्रिप्ट में वस्तुओं की एक सरणी को सादे वस्तु में बदलें

    मान लीजिए कि हमारे पास इस तरह की वस्तुओं की एक सरणी है - const arr = [{    name: 'Dinesh Lamba',    age: 23,    occupation: 'Web Developer', }, {    address: 'Vasant Vihar',    experience: 5,    isEmployed: true }];