मेरे पास इस तरह एक इनपुट फॉर्म है:

 <div class="form-group">
            <label class="text-info">name</label>
            <input type="text" id="name" class="form-control" />
 </div>

और नीचे की तरह एक मूल लिपि:

$(document).ready(function () {
        $("#postform").submit(function (e) {
            e.preventDefault();
            var data = {
                name: $("#name").val().trim(),
                requestID: $("#requestID").val().trim(),
                label: $("#label").val().trim(),
                contractTypeID: $("#contractTypeID").val().trim(),
                contractID: $("#contractID").val().trim(),                
            }
            console.log('{"ABC":' + JSON.stringify(data) + '}')
               ....

        })
    })

परिणाम JSON निम्नलिखित के साथ:

{
    "name": "Demo",
    "REQID": "1234aa",
    "label": "123",
    "contractTypeID": "321",
    "contractID": "1234",
}

लेकिन, मुझे परिणाम इस तरह स्वरूपित करने की आवश्यकता है:

{
   "ABC":{
      "name":"Demo",
      "REQID":"1234aa",
      "Group":{
         "label":"123",
         "contractTypeID":"321",
         "contractID":"1234"
      }
   }
}

क्या इसे पूरा करने का कोई आसान तरीका है या मुझे परिणाम हार्डकोड करने की आवश्यकता होगी?

0
Alex 29 अक्टूबर 2019, 23:57

2 जवाब

सबसे बढ़िया उत्तर

यदि आप अपने उदाहरण के अनुसार मनमानी कुंजी "ABC" का उपयोग कर रहे हैं, तो आप अपनी data संरचना को उस पूर्व-परिभाषित मूल वस्तु में लपेट सकते हैं:

var data = {
  "name": "Demo",
  "REQID": "1234aa",
  "label": "123",
  "contractTypeID": "321",
  "contractID": "1234",
};

var modifiedData = {

  "ABC": {
    "name": data.name,
    "REQID": data.REQID,
    "Group": {
      "label": data.label,
      "contractTypeID": data.contractTypeID,
      "contractID": data.contractID
    }
  }

};

console.log(modifiedData);
1
esqew 29 अक्टूबर 2019, 21:30

ऐसा करने के कुछ तरीके हैं। दूसरा तरीका यह है कि आप अपने जावास्क्रिप्ट ऑब्जेक्ट को इस तरह के चरणों में तैयार करें:

var data = { ABC: { Group: {}}};
data.ABC.name = 'Demo';
data.ABC.REQID = '1234aa';
data.ABC.Group.label = '123';
data.ABC.Group.contractTypeID = '321';
data.ABC.Group.contractID = '1234';

console.log(JSON.stringify(data));

बस याद रखें कि जावास्क्रिप्ट ऑब्जेक्ट आदेश का समर्थन नहीं करते हैं जैसे कि Javascript arrays करते हैं, इसलिए यह ठीक उसी तरह दिखता नहीं होगा जैसा आपने इसे निर्दिष्ट किया था, लेकिन यह आपके द्वारा निर्दिष्ट ऑब्जेक्ट का उत्पादन करता है।

यह रहा एक वर्किंग फिडेल

1
Ananda Masri 29 अक्टूबर 2019, 21:51