Tag: json

如何在rails中解析和显示hstore键/值

我有一个postgres hstore存储json字符串的数据类型。 我希望能够在rails html页面上解析并显示键/值。 不知何故,我只是不知道如何在数据字段上运行解析并显示字符串中列出的每个键/值。 <– this is the hstore json string <– this is an error, just to show 例如,payment_account.data包含{“hello”=>“world”,“great”=>“job”} 这是index.html.erb代码。 https://gist.github.com/axilaris/9174206 我该怎么做才能做到这一点? 解析hstore字符串以在rails中显示查询结果?

捆绑安装错误json gem

我在rails v 5.1.6(Ruby版本2.5.0)上遇到了ruby的以下问题,大多数时候我尝试在从github下载的rails项目上运行命令bundle install,我收到以下错误。 Fetching gem metadata from http://rubygems.org/………. Using rake 0.8.7z Using abstract 1.0.0 Using activesupport 3.0.7 Using builder 2.1.2 Using i18n 0.5.0 Using activemodel 3.0.7 Using erubis 2.6.6 Using rack 1.2.8 Using rack-mount 0.6.14 Using rack-test 0.5.7 Using tzinfo 0.3.37 Using actionpack 3.0.7 Using mime-types 1.23 Using polyglot 0.3.3 Using treetop 1.4.14 Using […]

Rails:从远程URL / API调用获取JSON数据

我试图从我的rails应用程序中获取一个json数据。 如何进行这个api通话。 { “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” }, […]

Rspec检查json响应

我正在尝试创建一个mock object ,我正在检查我的方法是否receives正确的param和预期的结果。 以下是我的spec 。 require ‘spec_helper’ describe User do let(:username) {“test@test.com”} let(:password) {“123”} let(:code) {“0”} context “when signing in” do it “should sign in” do user = double(“user”) expected_results = { “token”: “123” } allow(user).to receive(:login).with({email: username, password: password, code: code}) .and_return(expected_results) expect(user.login).to eq(expected_results) end end end 有没有办法将我的json与it隔离并将其保持在外面?

JSON解析Google API自定义搜索错误

我有以下代码: require ‘rubygems’ require ‘httparty’ require ‘pp’ require ‘json’ class Search include HTTParty format :json end x = Search.get(‘https://www.googleapis.com/customsearch/v1key=AI…&cx=013…=flowers&alt=json’) x = x.to_s result = JSON.parse(x) 每次我在谷歌搜索结果上运行它,我得到以下内容: FlowerPlaces.com Delivers Fresh Flowers To Your Place! Order Flowers Online or Call 800-411-9049 for Same Day Flower Delivery.”, “cacheId”=>”v94CIDza4gQJ”}]}’ (JSON::ParserError) from /usr/local/lib/ruby/1.9.1/json/common.rb:148:in `parse’ from gg.rb:15:in `’ 这是JSON试图解析的字符串版本中的同一行: Order Flowers […]

PHP中类似Ruby的数组参数实现

我使用PHP编程,而有时我碰巧需要一种方法来将这些“哈希参数”实现到我的PHP函数中(比如说,一个HTML选择帮助器) draw_select :name => :id, :onclick => ‘alert(this.value)’ PHP中的问题是我必须定义一个参数顺序来实现许多可能的属性。 我一直在考虑定义1个字符串参数并使用json_decode(),所以我可以传递这样的参数: draw_select(“‘name’: ‘id’, ‘onclick’: ‘alert(this.value)’ “) 定义如下: function draw_select($string) { // use json_decode here and pass them as variables } 你知道一个更聪明的方法吗?或者你认为在PHP中使用它实际上是否真的有意义? 编辑添加:我正在寻找一种“替代”替代方案,只需将一个signle数组作为参数传递,如函数(array(…))

Ruby:根据条件从深层嵌套的JSON结构中提取元素

想要从每个具有marketName == ‘Moneyline’市场中提取每个marketID 。 尝试了.map s, .reject s和/或.select s的一些组合,但由于复杂的结构使我感到困惑,所以无法缩小范围。 活动中有许多markets ,也有很多events 。 结构样本(为简洁起见,尝试编辑): {“currencyCode”=>”GBP”, “eventTypes”=>[ {“eventTypeId”=>6423, “eventNodes”=>[ {“eventId”=>28017227, “event”=> {“eventName”=>”Philadelphia @ Seattle” }, “marketNodes”=>[ {“marketId”=>”1.128274650”, “description”=> {“marketName”=>”Moneyline”} }, {“marketId”=>”1.128274625”, “description”=> {“marketName”=>”Winning Margin”} }}}]}, {“eventId”=>28018251, “event”=> {“eventName”=>”Arkansas @ Mississippi State” }, “marketNodes”=>[ {“marketId”=>”1.128299882”, “description”=> {“marketName”=>”Under/Over 60.5pts”} }, {“marketId”=>”1.128299881”, “description”=> {“marketName”=>”Moneyline”} }}}]}, {“eventId”=> etc…. 尝试各种各样的事情,例如, markets = […]

尝试从URL获取响应并使用Ruby解析JSON时出现文件结束错误

我一直收到这个错误: Errno::ECONNRESET in SearchController#create Connection reset by peer 和 EOFError in SearchController#create end of file reached 我正在尝试从Google的API获取响应,然后使用ruby解析JSON。 这是我的代码: require ‘rubygems’ require ‘json’ require ‘net/https’ def create @search = params[:search][:search] base_url = “https://ajax.googleapis.com/ajax/services/search/web?v=1.0” url = “#{base_url}&q=#{@search}&rsz=8&start=0” resp = Net::HTTP.get_response(URI.parse(url)) data = resp.body result = JSON.parse(data) if result.has_key? ‘Error’ raise “web service error” end return result end […]

Rails:无法呈现页面,导致JSON解析错误

我正在使用一个使用Rails服务器的项目,同时使用JSPM来组织Javascript文件,同时还使用Sprockets来管道资产。 我的rails服务器工作正常,但我目前无法呈现任何视图。 我认为这与sprockets没有成功管理编译JavaScript的处理器有关。 (另外需要注意:JavaScript是ES6)。 下面的错误似乎是说服务器尝试呈现索引页面,但JSON不存在,因为JS没有编译(我的猜测)。 这说,我真的不知道如何解决这个问题。 错误如下: `JSON::ParserError in Application#index Showing /Users/ben/agora/app/views/layouts/application.html.erb where line #14 raised: A JSON text must at least contain two octets! (in /Users/ben/agora/app/assets/javascripts/bundles/application.js.sfx) Extracted source (around line #14): 11: 12: 13: 14: 15: 16: ` 完整堆栈跟踪如下: `json (1.8.2) lib/json/common.rb:155:in `initialize’ json (1.8.2) lib/json/common.rb:155:in `new’ json (1.8.2) lib/json/common.rb:155:in `parse’ vendor/gems/jspm-rails/lib/jspm/sfx/template.rb:30:in `block in […]

在Heroku上渲染大量JSON的有效方法

我用一个端点构建了一个简单的API。 它会抓取文件,目前有大约30,000条记录。 理想情况下,我希望能够通过一次http调用获取JSON中的所有记录。 这是我的Sinatra视图代码: require ‘sinatra’ require ‘json’ require ‘mongoid’ Mongoid.identity_map_enabled = false get ‘/’ do content_type :json Book.all end 我尝试过以下方法:使用multi_json require ‘./require.rb’ require ‘sinatra’ require ‘multi_json’ MultiJson.engine = :yajl Mongoid.identity_map_enabled = false get ‘/’ do content_type :json MultiJson.encode(Book.all) end 这种方法的问题是我得到错误R14(超出内存配额)。 当我尝试使用’oj’gem时,我得到了同样的错误。 我只是将一个很长的Redis字符串连接起来,但Heroku的redis服务是每月30美元,我需要的实例大小(> 10mb)。 我目前的解决方案是使用创建对象的后台任务,并在Mongoid对象大小限制(16mb)附近填充它们充满jsonified对象。 这种方法的问题:渲染仍然需要将近30秒,我必须在接收应用程序上运行后处理才能从对象中正确提取json。 有没有人有更好的想法如何在一次通话中为30k记录渲染json而无需切断Heroku?