Jawaban:
Ini terlihat seperti JavaScript Object Notation (JSON) . Anda dapat menguraikan JSON yang berada di beberapa variabel, misalnya json_string
, seperti:
require 'json'
JSON.parse(json_string)
Jika Anda menggunakan Ruby yang lebih lama, Anda mungkin perlu menginstal json gem .
Ada juga implementasi JSON untuk Ruby yang mungkin cocok dengan beberapa kasus penggunaan yang lebih baik:
JSON.parse(string, symbolize_names: true) #=> {key: :value}
require 'json'
dalam kode Anda.
Hanya untuk sedikit memperluas jawaban dengan apa yang harus dilakukan dengan objek yang diuraikan:
# 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" }'
valid. "{ 'a': 'bob' }"
tidak.
JSON.parse
dalam blok penyelamatan JSON::ParserError
.
JSON.parse("[#{value}]")[0]
untuk menghindari kesalahanA JSON text must at least contain two octets!
Ini agak terlambat tetapi saya menemukan sesuatu yang menarik yang tampaknya penting untuk disumbangkan.
Saya tidak sengaja menulis kode ini, dan sepertinya berhasil:
require 'yaml'
CONFIG_FILE = ENV['CONFIG_FILE'] # path to a JSON config file
configs = YAML.load_file("#{CONFIG_FILE}")
puts configs['desc']['someKey']
Saya terkejut melihatnya berfungsi karena saya menggunakan perpustakaan YAML, tetapi berhasil.
Alasan mengapa hal ini penting adalah karena sudah yaml
ada bawaan dengan Ruby sehingga tidak ada pemasangan permata.
Saya menggunakan versi 1.8.x dan 1.9.x - jadi json
pustaka tidak dibangun, tetapi dalam versi 2.x.
Jadi secara teknis - ini adalah cara termudah untuk mengekstrak data dalam versi yang lebih rendah dari 2.0.
Data itu terlihat seperti itu dalam format JSON.
Anda bisa menggunakan implementasi JSON ini untuk Ruby untuk mengekstraknya.
Saya menyarankan Oj karena waaaaaay lebih cepat dari perpustakaan JSON standar.
require 'json'
dalam kode Anda.