Parsing JSON in Ruby
Oggi vediamo un dei vari modi per eseguire il parsing di una stringa JSON presa da un servizio remoto, usando Ruby.
Prima di tutto, (ri)vediamo la classe per la connessione al servizio remoto:
require "net/http"
class HttpConnection
def get_connection
uri = URI.parse("http://www.sito.com/file.json")
http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Get.new(uri.request_uri)
res = http.request(req)
return res.body
end
end
Questa classe la useremo nella nostra classe per il parsing.
Supponendo di voler leggere un campo che si chiama title:
#!/usr/bin/ruby -w
require 'json'
require './http'
class JsonParsing
def get_json
http = HttpConnection.new
jsonData = http.get_connection
result = JSON.parse(jsonData)
result.each do |doc|
puts doc["title"]
end
end
end
jp = JsonParsing.new
jp.get_json
Usiamo il modulo json, e la funzione JSON.parse (familiare a chi conosce Javascript).
Non c'è molto altro da dire...
Enjoy!
ruby json parse http
Commentami!