2015-03-16 9 views
37

मैं जेएस ऑब्जेक्ट्स के बजाय ES6 Map का उपयोग शुरू करना चाहता हूं लेकिन मुझे वापस रखा जा रहा है क्योंकि मैं यह नहीं समझ सकता कि JSON.stringify() को मानचित्र कैसे करें। मेरी चाबियाँ तार होने की गारंटी दी जाती हैं और मेरे मान हमेशा सूचियां रहेंगे। क्या मुझे वास्तव में क्रमबद्ध करने के लिए एक रैपर विधि लिखनी है?आप एक ES6 मानचित्र JSON.stringify कैसे करते हैं?

+2

उत्सुक क्यों है कि इसे क्यों कम किया जा रहा है? 'JSON.stringify' मानचित्र पर काम नहीं करता है, कम से कम जब क्रोम और एफएफ के खून बहने वाले संस्करणों का उपयोग करते हैं तो यह एक वैध प्रश्न की तरह लगता है। –

+0

या डूनो क्यों डाउनवोट। Io.js 1.4.1 या तो – rynop

+2

पर काम नहीं करता है "* मेरी चाबियाँ स्ट्रिंग होने की गारंटी दी जाती हैं और मेरे मान हमेशा सूचीबद्ध होंगे *"। फिर एक सादा वस्तु का उपयोग करें, नक्शा नहीं। नवीनतम क्रोम में उत्सुकता के लिए – Oriol

उत्तर

30

आप नहीं कर सकते।

मानचित्र की चाबियाँ, वस्तुओं सहित कुछ भी हो सकती हैं। लेकिन जेएसओएन सिंटैक्स केवल स्ट्रिंग्स को चाबियों की अनुमति देता है। तो एक सामान्य मामले में यह असंभव है।

मेरे कुंजी तार होने की गारंटी कर रहे हैं और मेरे मान हमेशा सूचियों

हो जाएगा इस मामले में, आप एक सादे ऑब्जेक्ट का उपयोग कर सकते हैं। इसमें इन फायदे होंगे:

  • यह JSON को स्ट्रिंग करने में सक्षम हो जाएगा।
  • यह पुराने ब्राउज़र पर काम करेगा।
  • यह तेज़ हो सकता है।
+4

, किसी भी मानचित्र को '{}' – Capaj

+0

में क्रमबद्ध किया गया है, मैंने समझाया है [http://stackoverflow.com/a/35078054/1529630) जब मैंने कहा "आप कर सकते हैं 'टी "। – Oriol

+2

"यह तेज़ हो सकता है" - क्या आपके पास इसका कोई स्रोत है? मैं कल्पना कर रहा हूं कि एक साधारण हैश-नक्शा एक पूर्ण उड़ा वस्तु से तेज होना चाहिए, लेकिन मेरे पास कोई सबूत नहीं है। :) – Lilleman

संबंधित मुद्दे