Reputation: 23
Hello I'm new to ruby rails and I'm trying to hardcode to display into my browser the "searched_count" from the phrase "java" from my json hash that I got using an url, which is the following
{
"results": [
{
"_class": "search_log",
"id": 88,
"phrase": "java",
"searched_count": 3758269,
"url": "/courses/search/?q=java"
},
{
"_class": "search_log",
"id": 296,
"phrase": "javascript",
"searched_count": 2385833,
"url": "/courses/search/?q=javascript"
},
{
"_class": "search_log",
"id": 642,
"phrase": "java programming",
"searched_count": 371310,
"url": "/courses/search/?q=java+programming"
},
{
"_class": "search_log",
"id": 6192,
"phrase": "java for complete beginners",
"searched_count": 193568,
"url": "/courses/search/?q=java+for+complete+beginners"
},
{
"_class": "course",
"id": 478878,
"title": "Java Maven: Introduccion paso a paso para no expertos",
"url": "/java-maven/",
"type_label": "curso"
},
{
"_class": "course",
"id": 1325394,
"title": "Java a Profundidad - Temas Avanzados y Desarrollo Web.",
"url": "/java-a-profundidad/",
"type_label": "curso"
},
{
"_class": "course",
"id": 1187500,
"title": "Java EE 7 & Frameworks - JSF2, Spring 4, Struts 2 y EJB3",
"url": "/java-ee-7-frameworks-jsf2-spring-4-struts-2-y-ejb3/",
"type_label": "curso"
},
{
"_class": "course",
"id": 490376,
"title": "Java para Administradores de Sistemas",
"url": "/java-sysadmin/",
"type_label": "curso"
},
{
"_class": "user",
"id": 28097854,
"title": "Javascript Lab",
"name": "Javascript",
"display_name": "Javascript Lab",
"url": "/user/javascript-lab/",
"type_label": "instructor"
},
{
"_class": "user",
"id": 17677946,
"title": "Lara Javalyn",
"name": "Lara",
"display_name": "Lara Javalyn",
"url": "/user/lara-javalyn/",
"type_label": "instructor"
},
{
"_class": "user",
"id": 7708594,
"title": "Ashay Javadekar",
"name": "Ashay",
"display_name": "Ashay Javadekar",
"url": "/user/ashayjavadekar/",
"type_label": "instructor"
},
{
"_class": "user",
"id": 23997368,
"title": "Alex Javad",
"name": "Alex",
"display_name": "Alex Javad",
"url": "/user/alex-javad-2/",
"type_label": "instructor"
}
]
}
I have two methods to try to accomplish this:
require 'sinatra'
require 'net/http'
require 'json'
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
def get_search_count(term)
url = 'https://www.udemy.com/api-2.0/search-suggestions?q=java'
uri = URI(url)
response = Net::HTTP.get(uri)
return JSON.parse(response)
end
get '/' do
@result = get_search_count "java"
@searchedCount = @result["results"][0]["searched_count"]
"Searched count: #{@searched_count}"
end
When I load my localhost all I get is the phrase "Searched count:" with nothing following, any help identifying my mistakes is greatly appreciated thanks in advance!
Upvotes: 0
Views: 49
Reputation: 181
You have a typo in the string. You're reading @searched_count
rather than @searchedCount
Upvotes: 3