rails parser json

You have 1 new answer. See your responses.

up vote1down votefavorite
2

I'm looking for a simple way to parse JSON, extract a value and write it into a db in Rails.

Explicitly what I'm looking for is a way to extract a shortUrl from the JSON returned from the bit.ly API:

{ "errorCode": 0, "errorMessage": "", "results": { "http://www.foo.com": { "hash": "e5TEd", "shortKeywordUrl": "", "shortUrl": "http://bit.ly/1a0p8G", "userHash": "1a0p8G" } }, "statusCode": "OK" }

And then take that shortUrl and write it into an ActiveRecord object associated with the long URL.

This is one of those things that I can think through entirely in concept and when I sit down to execute I realize I've got a lot to learn.

Thoughts? Help? Any and all would be much appreciated.

link|flag

40% accept rate
add comment

up vote4down vote

Parsing JSON in Rails is quite straightforward:

parsed_json = ActiveSupport::JSON.decode(your_json_string)

Let's suppose, the object you want to associate the shortUrl with is a Site object, which has two attributes - short_url and long_url. Than, to get the shortUrl and associate it with the appropriate Site object, you can do something like:

parsed_json["results"].each do |longUrl, convertedUrl|
  site
= Site.find_by_long_url(longUrl)
  site
.short_url = convertedUrl["shortUrl"]
  site
.save
end
link|flag
原文地址:https://www.cnblogs.com/lexus/p/1874536.html