मेरे पास अपने सरणी को जेसन में बनाने के लिए एक छोटी सी समस्या है जो मैं चाहता हूं। मैंने यह कोड बनाया है:

var arrData = [{label:Test,value:199.12}, {label:Test2,value:1024}]     
var data = [];
for (var i = 0; i < arrData.length; i++) {
  data.push(JSON.stringify({
    label: arrData[i][2],
    value: arrData[i][3]
  }).replace(/\"/g, "").replace("\\r", ""))
}

यह काम भी ठीक से करता है। लेकिन मैं चाहता हूं कि यह इस प्रारूप में हो:

{लेबल: 'खाद्य', मान: 90},

मैं लेबल डेटा पर '' रखना चाहता हूं और मैं जेसन के बाहर डबल "" विराम चिह्न को हटाना चाहता हूं। चूंकि मेरा वर्तमान जेसन इस तरह दिखता है:

"{label:Test,value:199.12}", "{label:Test2,value:1024}", 
0
IFreeze 29 अक्टूबर 2019, 16:31

1 उत्तर

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

{ label: 'Food', value: 90 } वैध JSON नहीं है इसलिए आप इसे JSON.stringify का उपयोग करके नहीं बना सकते।

यह कोई मानक क्रमांकन प्रारूप नहीं है (हालाँकि यह एक वैध जावास्क्रिप्ट शाब्दिक है) इसलिए यदि आप इसे डेटा क्रमबद्ध करना चाहते हैं, तो आपको एक कस्टम धारावाहिक लिखना होगा।

आप ऑब्जेक्ट के गुणों पर लूप कर सकते हैं और उन्हें, संबंधित मान, और जो भी उद्धरण और अल्पविराम आपके प्रारूप की मांग करते हैं, उन्हें एक स्ट्रिंग में जोड़ सकते हैं।

1
Quentin 29 अक्टूबर 2019, 13:36