Parsing JSON with Ruby is actually extremely easy. All you have to do is have the json gem installed (gem install json) and call the JSON.parse method on the JSON data to convert it to ruby hashes. If you look at this small program here, you can see how I have implemented parsing JSON in Ruby.#!/usr/bin/env ruby
require 'json'
require 'net/http'
require 'libnotify'
def parsejson
file = "http://api.openweathermap.org/data/2.5/find?q=London&mode=json"
response = Net::HTTP.get_response(URI.parse(file))
weatherjson = response.body
actual = JSON.parse(weatherjson)
# check for errors
if actual.has_key? 'Error'
raise "error with the url"
end
results = []
actual["list"].each do |listitem|
weather = listitem["weather"]
weather.each do |weath|
results.push(weath["description"])
end
main = listitem["main"]
temp = main["temp"] - 273.15
results.push ("%.2f" % temp)
end
return results
end