Tag: json

从/向JSON API客观化Ruby Hashes

我刚刚发布了一个ruby gem来使用一些基于HTTP API的JSON: https://github.com/solyaris/blomming_api 我的naif ruby​​代码只是将API端点(json_data)返回的复杂/嵌套JSON数据结构转换为ruby Hashes(hash_data),以一对一的扁平转换(JSON到ruby散列,反之亦然)。 达的很好,但…… 我想编程接口更“高级”。 也许为每个端点设置类资源,但我对智能实现感到困惑。 让我用抽象代码解释一下。 假设我有一个API接收的复杂/嵌套JSON,通常是一个哈希数组,递归嵌套如下(想象示例): json_data = ‘[{ “commute”: { “minutes”: 0, “startTime”: “Wed May 06 22:14:12 EDT 2014”, “locations”: [ { “latitude”: “40.4220061”, “longitude”: “40.4220061” }, { “latitude”: “40.4989909”, “longitude”: “40.48989805” }, { “latitude”: “40.4111169”, “longitude”: “40.42222869” } ] } }, { “commute”: { “minutes”: 2, “startTime”: […]

Ruby on Rails Instagram Gem like和评论计数不正常

我试图循环浏览Instagram返回的数据并在网页上显示信息。 我可以从字面上得到每个字段的工作除了类似或评论计数。 出于某种原因,它总是返回所有字段的相同数字(2),即使我查看返回的JSON,计数明显不同。 其他一切都正常应用。 更具体地说,我使用Ruby on Rails Instagram Gem,使用tag_recent_media(用户)方法获取数据。 def index result = [] next_id = nil while result.length params[:page], :per_page => 30) end 在我的html.erb中: instagram.images.standard_resolution.url //gives me image url correctly instagram.caption.text //gives me caption text correctly instagram.user.username //gives me the username correctly instagram.likes.count //always gives me 2! instagram.comments.count //always gives me 2! 任何人都知道可能会发生什么?

如何通过jquery / ajax作为JSON对象将数据发送和存储到rails?

{QUESTION UPDATED} 我想将一些数据发送到安装了rails的服务器。 我的数据是JSON格式,例如: var JSONObject= { table1: { title: “Title of text”, url: “Url of text” } } 我在cilent中使用以下代码: $.ajax({ type: “POST”, url : “http://webadress.com/table1”, cache: false, data: JSONObject, statusCode: { 200:function() { alert(“200”); }, 202:function() { alert(“202”); } }, success: function() { alert(“Data Send!”);}, error: function(xhr){ alert(“The error code is: “+xhr.statusText);} }); 在cilent中,存在以下代码: […]

什么是生成json的哈希结构?

下面是我传递给javascript的最终json示例。 我将使用( yajl )ruby库从哈希创建这个json。 问题是产生json的ruby哈希应该是什么样的? var data = [{ data: “basics”, attr: {}, children: [ {data: “login”, attr: {run: “run”}, children: [ {data: “login”, attr: {}} ] } , {data: “Academic Year”, attr: {run: “run”}, children: [ {data: “login”, attr: {}}, {data: “Academic Year”, attr: {filter: “mini”, SOF: “yes”}} ] } ] }];

Ruby:基于多个条件从深层嵌套的JSON结构中提取

我想选择marketName == ‘Moneyline’任何marketId ,但只选择countryCode == ‘US’ || ‘GB’ countryCode == ‘US’ || ‘GB’或eventName.include?(‘ @ ‘) 。 ( @之前和之后的space )。 我尝试了不同的地图和选择组合,但有些节点没有countryCode ,这让我感到countryCode 。 这是源代码,但它可能是一个样本: {“currencyCode”=>”GBP”, “eventTypes”=>[ {“eventTypeId”=>7522, “eventNodes”=>[ {“eventId”=>28024331, “event”=> {“eventName”=>”EWE Baskets Oldenburg v PAOK Thessaloniki BC” }, “marketNodes”=>[ {“marketId”=>”1.128376755”, “description”=> {“marketName”=>”Moneyline”} }, {“marketId”=>”1.128377853”, “description”=> {“marketName”=>”Start Lublin +7.5”} }}}]}, {“eventId”=>28023434, “event”=> {“eventName”=>”Asseco Gdynia v Start Lublin”, […]

从其json表示中获取IPAddr实例

如何从json表示中获取IPAddr实例? 语境: 我正在使用一个使用draftsmangem的Rails应用程序。 基本上,当一个人对数据库中的记录和ruby模型has_drafts进行更改时,不会立即对记录进行更改,而是将更改草稿和结果记录保存在草稿表中,直到一次publish!为止publish! 那个草案。 然后对实际记录进行更改。 很简约 :) 草稿表保存了允许更改发生在postgres表中的json列中的对象。 我也使用Devise,我的用户模型使用trackable模块,其中包括current_sign_in_ip以及列类型inet的last_sign_in_ip 。 问题: 我的用户表中的inet类型列以及User对象的其余部分存储在由draftsman gem在名为object的单个json列中创建的草稿表中。 由于以下原因,在这种情况下从对象中重新定义对象不成功: IPAddr实例具有IPAddr类无法感知的json表示。 例如,ruby中的IPAddr实例响应to_json ,这给我一些如下所示的内容: “\”family\”:2,\”addr\”:2130706433,\”mask_addr\”:4294967295}” 。 这些实例也响应to_s并给我这样的东西: “127.0.0.1” 。 不幸的是, IPAddr类似乎不知道如何从我所知道的json中恢复过来: [277, 286] in /home/jake/.rvm/gems/ruby-2.2.1/bundler/gems/draftsman-1bd3c797d540/lib/draftsman/model.rb 277: data = { 278: :item => self, 279: :whodunnit => Draftsman.whodunnit, 280: :object => object_attrs_for_draft_record 281: } => 282: data = merge_metadata_for_draft(data) 283: 284: # […]

带API的Ruby pass头

所以我一直在尝试为Twitch设置我的聊天机器人。 我希望用户能够输入!stats然后他们会看到我的Fortnite统计数据。 他们可以使用命令和东西,这不是我遇到的问题。 我在向Fortnite Tracker API发送标题时遇到了一些麻烦。 他们想要接受这个: TRN-Api-Key: somelong-api-key-right-here在标题中有一些TRN-Api-Key: somelong-api-key-right-here 。 我试过这些方法:require(“httparty”) url = “https://api.fortnitetracker.com/v1/profile/pc/bentearzz” header = { key: “TRN-Api-Key: Somelong-api-key-here” } response = HTTParty.get(url, header: header) puts(response.body) 还有这个 require(“net/http”) require(“json”) url = “https://api.fortnitetracker.com/v1/profile/pc/bentearzz” uri = URI(url) response = Net::HTTP::Get.new(uri) response.basic_auth(“TRN-Api-Key: 7af072f0-d195-4c44-b1b4-a8838080e4c4”) JSON.parse(response) print(response) 请帮忙。

尝试发送电子邮件时sidekiq_mailer错误

我在我的应用程序中添加了gems sidekiq ( sidekiq_mailer )和sidekiq_mailer (0.0.6)。 当我尝试发送电子邮件时,我收到: NoMethodError (undefined method `key?’ for #<JSON::Ext::Generator::State:0x007f1b…… 有谁知道为什么会这样?

访问哈希和数组Ruby

在我的Rails应用程序中,我发送了一个需要解码的复杂JSON字符串。 这不是我知道的问题。 在我实现所有内容之前,我正在尝试访问一些示例JSON结构,以查看是否可以获取所有变量。 问题是名称可以是变量。 {“configurations” : [ { “drinks” : [ {“menus” : [ { “hot” : [ {“id”:15,”unit”:”0.33″, “price”:”1″, “currency”:”Euro”, “position”: 4}, {“id”:15,”unit”:”0.33″, “price”:”1″, “currency”:”Euro”, “position”: 6} ] }, { “cold” : [ {“id”:15,”unit”:”0.33″, “price”:”1″, “currency”:”Euro”, “position”: 4}, {“id”:15,”unit”:”0.33″, “price”:”1″, “currency”:”Euro”, “position”: 6} ] }, { “terminals” : [ {“id” : 4}, {“id”: 6}, […]

使用Ruby的Net / HTTP模块,我可以发送原始JSON数据吗?

与通过Fiddler发送数据和请求相比,我一直在研究通过Ruby HTTP请求发送JSON数据的主题。 我的主要目标是找到一种方法,使用Ruby在HTTP请求中发送嵌套的数据哈希。 在Fiddler中,您可以在请求正文中指定JSON并添加标题“Content-Type:application / json”。 在Ruby中,使用Net / HTTP,如果可能,我想做同样的事情。 我有一种预感,这是不可能的,因为在Ruby中将JSON数据添加到http请求的唯一方法是使用set_form_data ,它需要哈希中的数据。 在大多数情况下这很好,但是这个函数没有正确处理嵌套的哈希值(参见本文中的注释 )。 有什么建议?