i am trying to convert a json object to a ruby object in a format that is easy to work with. i use the json.decode and that converts it to ruby as hashes and arrays like it should. the part i am trying to figure out is a clean way to reorganize the hashes (see my code below). the first problem i have, is if any of the fields are missing from the json object i get the "You have a nil object when you didn't expect it!" error. the second issue is it is ugly and hard to read.
what is a good way to do this?
address = ActiveSupport::JSON.decode(address) @address = {} @address['status'] = address['Status']['code'] @address['submitted_address'] = address['name'] @address['full_address'] = address['Placemark'][0]['address'] @address['longitude'] = address['Placemark'][0]['Point']['coordinates'] [0] @address['lattitude'] = address['Placemark'][0]['Point']['coordinates'] [1] @address['elevation'] = address['Placemark'][0]['Point']['coordinates'] [2] @address['accuracy'] = address['Placemark'][0]['AddressDetails'] ['Accuracy'] @address['country'] = address['Placemark'][0]['AddressDetails'] ['Country']['CountryNameCode'] @address['state'] = address['Placemark'][0]['AddressDetails'] ['Country']['AdministrativeArea']['AdministrativeAreaName'] @address['county'] = address['Placemark'][0]['AddressDetails'] ['Country']['AdministrativeArea']['SubAdministrativeArea'] ['SubAdministrativeAreaName'] @address['city'] = address['Placemark'][0]['AddressDetails']['Country'] ['AdministrativeArea']['SubAdministrativeArea']['Locality'] ['LocalityName'] @address['street'] = address['Placemark'][0]['AddressDetails'] ['Country']['AdministrativeArea']['SubAdministrativeArea']['Locality'] ['Thoroughfare']['ThoroughfareName'] @address['zip'] = address['Placemark'][0]['AddressDetails']['Country'] ['AdministrativeArea']['SubAdministrativeArea']['Locality'] ['PostalCode']['PostalCodeNumber']