如何使用HTTParty获取和显示JSON?

 腾讯财经321 发布于 2023-02-12 11:44

我是Ruby on Rails和编程的新手.到目前为止,我已成功使用我的控制台从A​​PI返回JSON数据,但我似乎无法使其在我的本地服务器上运行.

在我输入的控制台中:

httparty "http://rubygems.org/api/v1/versions/httparty.json" 

在我设法安装/配置所有内容后它返回了JSON.

那么在控制台我写道:

rails new Catalog
rails generate controller new index

Hello, Rails!

当我去的时候,我按照教程在我的页面上显示:

http://localhost:3000/

现在我正在尝试返回JSON数据,并在同一页面上显示"Hello,Rails".

在index.html.erb我有:

Hello, Rails

<%= @result %>

在home_controller.rb我有:

class HomeController < ApplicationController
  def get_catalog
  include HTTParty
  @result = HTTParty.get("http://rubygems.org/api/v1/versions/httparty.json")
  end
end

在routes.rb我有:

Catalog::Application.routes.draw do
  get "home/index"
  root :to => 'home#index'
end

当我转到页面时,"Hello,Rails"下没有任何内容.

我仍然试图围绕所有这些东西如何相互作用.也许有人能看到我在这里做错了吗?

---更新我正在尝试将产品名称输出到li元素中.我的文件现在是:

index.html.erb:

    <% @http_party_json.each do |event| %> <% event.each do |e| %>
  • <%=h e['Products']['Name'] %>
  • <% end %> <% end %>

控制器:

class HomeController < ApplicationController
  def index
    @response =     HTTParty.get("myURL")
    @http_party_json = JSON.parse(@response.body)
  end
end

我得到的错误是:

undefined method `[]' for nil:NilClass
Extracted source (around line #5):

2: 
    3: <% @http_party_json.each do |event| %> 4: <% event.each do |e| %> 5:
  • <%=h e['Products']['Name'] %>
  • 6: <% end %> 7: <% end %> 8:

当我取消['Name']时,我从JSON开始:

[{"Name"=>"3x4 Vinyl Magnet", "Description"=>"Made of durable high-gloss vinyl.  Measures 3x4 inches and has rounded corners. Waterproof and scratch resistant."

为什么我不能以['Name']为目标来获得产品名称?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有