मैं समझता हूं कि JSON में, कुंजी को डबल कोट्स में घिरा होना चाहिए। हालांकि, मैं एक डेटा स्रोत का उपयोग कर रहा हूं जो उन्हें उद्धृत नहीं करता है, जो रूबी जेएसओएन पार्सर को एक त्रुटि उठाने का कारण बन रहा है। क्या 'गैर-सख्त' पार्सिंग करने का कोई तरीका है?उद्धृत कुंजी के बिना JSON पार्सिंग
उदाहरण:
>> JSON.parse('{name:"hello", age:"23"}')
JSON::ParserError: 618: unexpected token at '{name:"hello", age:"23"}'
from /Library/Ruby/Gems/1.8/gems/json-1.1.7/lib/json/common.rb:122:in `parse'
from /Library/Ruby/Gems/1.8/gems/json-1.1.7/lib/json/common.rb:122:in `parse'
from (irb):5
>> JSON.parse('{"name":"hello", "age":"23"}')
=> {"name"=>"hello", "age"=>"23"}
>>
(मैं पार्स करने से पहले में उद्धरण जोड़ने के लिए एक नियमित अभिव्यक्ति का उपयोग कर की कोशिश की लेकिन नहीं यह पूरी तरह से काम करना आरंभ कर सकता है)।
यदि यह JSON नहीं है, तो यह JSON नहीं है। यह अधिसूचनात्मक रूप से इसके समान हो सकता है, लेकिन सही समाधान स्रोत को ठीक करना है, इसलिए यह वास्तव में JSON isntead देता है-जो-दिखता है-जैसा-जेएसओएन-लेकिन-नहीं है। –
दुर्भाग्यवश मेरे पास स्रोत पर कोई नियंत्रण नहीं है, यह किसी तीसरे पक्ष से है। उदाहरण के लिए –
http://www.google.com/ig/calculator?hl=hi&q=100AUD=?USD की आवश्यकता है कि वह क्या मांग रहा है। @floyd के नीचे समाधान है - और स्वीकार्य है – Rabbott