जवाबों:
यह जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) जैसा दिखता है । आप JSON को पार्स कर सकते हैं जो कुछ चर में रहता है, उदाहरण के लिए json_string
, जैसे:
require 'json'
JSON.parse(json_string)
यदि आप एक पुरानी रूबी का उपयोग कर रहे हैं, तो आपको json मणि स्थापित करने की आवश्यकता हो सकती है ।
रूबी के लिए JSON के अन्य कार्यान्वयन भी हैं जो कुछ उपयोग-मामलों को बेहतर ढंग से फिट कर सकते हैं:
JSON.parse(string, symbolize_names: true) #=> {key: :value}
require 'json'
अपने कोड में उपयोग करें।
बस पार्स की गई वस्तु के साथ क्या करना है, इसके जवाबों को थोड़ा विस्तार देना है:
# JSON Parsing example
require "rubygems" # don't need this if you're Ruby v1.9.3 or higher
require "json"
string = '{"desc":{"someKey":"someValue","anotherKey":"value"},"main_item":{"stats":{"a":8,"b":12,"c":10}}}'
parsed = JSON.parse(string) # returns a hash
p parsed["desc"]["someKey"]
p parsed["main_item"]["stats"]["a"]
# Read JSON from a file, iterate over objects
file = open("shops.json")
json = file.read
parsed = JSON.parse(json)
parsed["shop"].each do |shop|
p shop["id"]
end
'{ "a": "bob" }'
मान्य है। "{ 'a': 'bob' }"
नहीं है।
JSON.parse
एक बचाव ब्लॉक के भीतर लपेट करना चाहते हैं JSON::ParserError
।
JSON.parse("[#{value}]")[0]
त्रुटि से बचने के लिएA JSON text must at least contain two octets!
यह थोड़ा देर से है, लेकिन मैं कुछ दिलचस्प में भाग गया जो योगदान के लिए महत्वपूर्ण लगता है।
मैंने गलती से यह कोड लिखा था, और यह काम करने लगता है:
require 'yaml'
CONFIG_FILE = ENV['CONFIG_FILE'] # path to a JSON config file
configs = YAML.load_file("#{CONFIG_FILE}")
puts configs['desc']['someKey']
मैं इसे देखने के लिए आश्चर्यचकित था क्योंकि मैं YAML पुस्तकालय का उपयोग कर रहा हूं, लेकिन यह काम करता है।
कारण यह है कि यह महत्वपूर्ण है कि yaml
रूबी के साथ बिल्ट-इन आता है ताकि कोई मणि स्थापित न हो।
मैं 1.8.x और 1.9.x संस्करणों का उपयोग कर रहा हूं - इसलिए json
पुस्तकालय में निर्मित नहीं है, लेकिन यह संस्करण 2.x में है।
तो तकनीकी रूप से - यह 2.0 से कम संस्करण में डेटा निकालने का सबसे आसान तरीका है।
यह डेटा ऐसा लगता है जैसे यह JSON प्रारूप में है।
आप इसे निकालने के लिए रूबी के लिए इस JSON कार्यान्वयन का उपयोग कर सकते हैं ।
मैं OJ का सुझाव देता हूं क्योंकि यह मानक JSON लाइब्रेरी की तुलना में अधिक तेज़ है।
require 'json'
अपने कोड में उपयोग करें।