मैं किसी जेएसओएन को एक स्क्रिप्ट (मेरा नहीं) के माध्यम से सर्वर पर भेज रहा हूं जो JSON को एक स्ट्रिंग के रूप में स्वीकार करता है।रूबी में एक उद्धरण से कैसे बचूं?
JSON की कुछ सामग्री में एकल उद्धरण शामिल हैं, इसलिए मैं यह सुनिश्चित करना चाहता हूं कि स्क्रिप्ट पर जाने से पहले कोई भी उद्धरण बच निकला है।
मैं निम्नलिखित की कोशिश की है:
> irb
> 1.9.3p194 :001 > x = "that's an awesome string"
> => "that's an awesome string"
> 1.9.3p194 :002 > x.sub("'", "\'")
> => "that's an awesome string"
> 1.9.3p194 :003 > x.sub("'", "\\'")
> => "thats an awesome strings an awesome string"
लेकिन वाक्य रचना सही पाने के लिए नहीं कर पा रहे।
कैसे हैं मूल्य "पारित"? क्योंकि * वह * दोष की तरह लगता है; जेएसओएन एम्बेडेड कोट्स को ठीक से संभालता है, और एक बार यह * रूबी स्ट्रिंग के अंदर * होता है, इससे कोई फर्क नहीं पड़ता। –
यदि "स्क्रिप्ट के माध्यम से" उप-प्रक्रिया का अर्थ है, तो कृपया बिना किसी सबशेल के * इसे खोलें, जो इस समस्या को पूरी तरह से यूनिक्स-जैसी प्रणालियों में ठीक करेगा। (मुझे यकीन नहीं है कि Win32 सामान इस बकवास के लिए पर्याप्त रूप से पैच किया गया है।) –
'x।उप ("'", "\\\\'") 'वह करता है जो आप करने की कोशिश कर रहे हैं। लेकिन टिन मैन का रास्ता जेसनिफ़ाई करने का सही तरीका है। – Zabba