Home / Programmazione / Ruby / Parsing JSON in Ruby
Mattepuffo

Parsing JSON in Ruby

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!