1

i am trying to fetch a json data in my rails app from a url. how to make this api call.

 {
  "name": "MagicList",
  "count": 20,
  "frequency": "realtime",
  "version": 5,
  "newdata": true,
  "lastrunstatus": "success",
  "lastsuccess": "Sat Apr 26 2014 14:34:40 GMT+0000 (UTC)",
  "results": {
    "collection1": [
      {
        "Title": {
          "href": "http://www.magicbricks.com/propertyDetails/2-BHK-746-Sq-ft-Multistorey-Apartment-FOR-Sale-Sector-79-in-Gurgaon&id=C0gt4k2Fa9tzpSvf+uAgZw==",
          "text": "2 BHK Multistorey Apartment in Sector-79"
        },
        "Price": "37.99 Lac(s)",
        "Rate": "5,092",
        "Size": "746 Sq-ft",
        "Project Name": "",
        "New_Resale": "New Property"
      },
      {
        "Title": {
          "href": "http://www.magicbricks.com/propertyDetails/2-BHK-1050-Sq-ft-Multistorey-Apartment-FOR-Sale-Sector-68-in-Gurgaon&id=M5jckQCuJaBzpSvf+uAgZw==",
          "text": "2 BHK Multistorey Apartment in Sector-68"
        },
        "Price": "57.50 Lac(s)",
        "Rate": "5,476",
        "Size": "1050 Sq-ft",
        "Project Name": "Project: Pareena Sec68",
        "New_Resale": "New Property"
      },
      {
        "Title": {
          "href": "http://www.magicbricks.com/propertyDetails/3-BHK-1875-Sq-ft-Multistorey-Apartment-FOR-Sale-Sector-37C-in-Gurgaon&id=gw8zjmcA/b1zpSvf+uAgZw==",
          "text": "3 BHK Multistorey Apartment in Sector-37C"
        },
        "Price": "60.0 Lac(s)\nOnwards",
        "Rate": "3,200",
        "Size": "1875 Sq-ft",
        "Project Name": "Project: Spire Greens",
        "New_Resale": "Resale"
      }
     }
   }

dont know how it can be achieved, which gem should be used.

3 Answers 3

4

Using 'open-uri'

url = "http://..."
data = JSON.parse(open(url).read)

Or using 'net'

require "net/http"

url = "http://..."
resp = Net::HTTP.get_response(URI.parse(url))
data = JSON.parse(resp.body)
Sign up to request clarification or add additional context in comments.

Comments

2

Yes you can easily use builtin stuff:

uri = "https://yourapithinkg.com/list?api_key=#{ENV.fetch('API_KEY')}"
result = JSON.parse(Net::HTTP.get(URI.parse(uri)))

Most people like to load in other libraries but its not really worth it.

Comments

1

This is not an answer to your question, but stack overflow won't let me post a comment without 50 reputation.

You may want to edit your API key out of your question, since it's the equivalent of your password for using their API services.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.