javascript जेएसओएन के लिए जावास्क्रिप्ट एसोसिएटिव सरणी




json associative-array (4)

मैं एक जावास्क्रिप्ट एसोसिएटिव सरणी JSON में कैसे परिवर्तित कर सकता हूं?

मैंने निम्नलिखित कोशिश की है:

var AssocArray = new Array();

AssocArray["a"] = "The letter A"

console.log("a = " + AssocArray["a"]);

// result: "a = The letter A"

JSON.stringify(AssocArray);

// result: "[]"

Answer #1

मैंने here लिए एक फिक्स पोस्ट किया

आप JSON.stringify एन्कोड करने के लिए JSON.stringify को संशोधित करने के लिए इस फ़ंक्शन का उपयोग कर सकते हैं, बस इसे अपनी स्क्रिप्ट की शुरुआत के पास पोस्ट करें (अधिक विवरण के लिए उपरोक्त लिंक देखें):

// Upgrade for JSON.stringify, updated to allow arrays
(function(){
    // Convert array to object
    var convArrToObj = function(array){
        var thisEleObj = new Object();
        if(typeof array == "object"){
            for(var i in array){
                var thisEle = convArrToObj(array[i]);
                thisEleObj[i] = thisEle;
            }
        }else {
            thisEleObj = array;
        }
        return thisEleObj;
    };
    var oldJSONStringify = JSON.stringify;
    JSON.stringify = function(input){
        if(oldJSONStringify(input) == '[]')
            return oldJSONStringify(convArrToObj(input));
        else
            return oldJSONStringify(input);
    };
})();

Answer #2

इस बात से सहमत था कि ऑब्जेक्ट्स को ऑब्जेक्ट्स के रूप में ऑब्जेक्ट्स और एरेज़ रखने के लिए शायद सबसे अच्छा अभ्यास है। हालांकि, अगर आपके पास नामित गुणों वाला ऑब्जेक्ट है जिसे आप सरणी के रूप में देख रहे हैं, तो यह है कि यह कैसे किया जा सकता है:

let tempArr = [];
Object.keys(objectArr).forEach( (element) => {
    tempArr.push(objectArr[element]);
});

let json = JSON.stringify(tempArr);

Answer #3

जावास्क्रिप्ट में कोई सहयोगी सरणी नहीं हैं। हालांकि, नामित गुणों वाले ऑब्जेक्ट्स हैं, इसलिए बस अपने "सरणी" को new Array साथ प्रारंभ न करें, फिर यह एक सामान्य वस्तु बन जाता है।


Answer #4

आप वस्तु को सरणी में धक्का देना चाहेंगे

enter code here

var AssocArray = new Array();

AssocArray.push( "The letter A");

console.log("a = " + AssocArray[0]);

// result: "a = The letter A"

console.log( AssocArray[0]);

JSON.stringify(AssocArray);




associative-array