加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用Ruby的ActiveResource消费JSON格式?

发布时间:2020-12-16 19:35:28 所属栏目:百科 来源:网络整理
导读:ActiveRecord引入了对其默认 JSON输出格式的更改.它从 { "user": { some_junk } } 至 { some_junk } ActiveResource显然跟随着他们的领先,期望消耗JSON { some_junk } 我拼命地想要消耗一个发出的RESTful Web服务 { "user": { some_junk } } 有没有办法告诉
ActiveRecord引入了对其默认 JSON输出格式的更改.它从
{ "user": { some_junk } }

{ some_junk }

ActiveResource显然跟随着他们的领先,期望消耗JSON

{ some_junk }

我拼命地想要消耗一个发出的RESTful Web服务

{ "user": { some_junk } }

有没有办法告诉我的ActiveResource :: Base类呢?这是我的代码

class User < ActiveResource::Base
    self.site = "http://example.com/"
    self.format = :json
end

更新:现在我放弃了ActiveResource,除非有人知道答案;在此期间,我能够实现我想要的GET

require 'httparty' # sudo gem install httparty
result = HTTParty.get('http://foo.com/bar.json',headers => { "Foo" => "Bar"})
# result is a hash created from the JSON -- sweet!

解决方法

是的,ActiveResource在数据格式方面目前有点不灵活.

原则上,您可以根据ActiveResource::Formats::JsonFormat模块为自己编写一个自定义格式模块(例如JsonWithRootFormat),然后将其指定为模型中的格式:

self.format = :json_with_root

但是,ActiveResource :: Base不是格式不可知的 – 它当前是does a check,看看你是否使用XmlFormat,只传递根节点,如果你是.

所以你可以通过制作你自己的格式模块和猴子修补ActiveResource :: Base来获得你想要的东西,但它并不理想.我确定一个补丁,使Base更多的格式不可知将受到欢迎.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读