2012-02-11 10 views
41

मैं अपने backbone.js ऐप में जेसन इंजेक्ट करने की कोशिश कर रहा हूं। मेरे जेसन में प्रत्येक उद्धरण के लिए है।जावास्क्रिप्ट में मेरे जेसन से " को कैसे हटाएं?

क्या इसे हटाने के लिए मेरे पास कोई तरीका है?
मैं नीचे एक नमूना प्रदान की है:

[{"Id":1,"Name":"Name}] 
+3

इसे पहले स्थान पर क्यों नहीं रोकें? वर्तमान में आप JSON बिल्कुल नहीं है, लेकिन कुछ ऐसा लगता है जो थोड़ा सा दिखता है। –

+0

यह उद्धरण एन्कोडिंग था। यह जेसन से संबंधित एक बिल्कुल अलग मुद्दा नहीं है, लेकिन एएसपी.नेट एमवीसी से संबंधित है। हम इस पोस्ट को मिटाना चाहते हैं। – Frankie

उत्तर

86

मुमकिन है कि आप इसे एक चर में है और JSON.parse(data); उपयोग कर रहे हैं। ऐसी स्थिति में, उपयोग:

JSON.parse(data.replace(/"/g,'"')); 

आप, हालांकि आपके JSON-लेखन स्क्रिप्ट ठीक करने के लिए चाहते हो सकता है क्योंकि " एक JSON ऑब्जेक्ट में मान्य नहीं है।

+1

जब मैं इसे आज़माता हूं, मैंने देखा कि मेरा जेएस कोड उसमें बदल गया है: 'result.replace (/ "/g, '' ')' – efirat

+0

यही वही है जो मुझे चाहिए, धन्यवाद! –

+0

@ किर्लिसाकल आप इस मुद्दे को हल करने में सक्षम थे – turbo2oh

5

स्वीकृत उत्तर सही है, हालांकि मुझे इसके साथ परेशानी थी। जब मैं अपने कोड में जोड़ने के लिए, डिबगर की जाँच कर, मैंने देखा है कि यह इस के बजाय

result.replace(/"/g,'"') 

से

result.replace(/"/g,'"') 

में परिवर्तन मैं इस

result.replace(/(&quot\;)/g,"\"") 

का उपयोग इस अंकन यह तक काम करता है।

1
var data = $('<div>').html('[{&quot;Id&quot;:1,&quot;Name&quot;:&quot;Name}]')[0].textContent; 

जो आपको आवश्यक सभी एन्कोडेड मानों को पार्स करना चाहिए।

+0

ग्रेट चाल अगर आपको अनस्केप अधिक वर्णों की आवश्यकता है :) – Genaut

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