为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Ruby on Rails解析JSON?

如何使用Ruby on Rails解析JSON?

慕村9548890 2019-08-09 15:42:11
如何使用Ruby on Rails解析JSON?我正在寻找一种简单的方法来解析JSON,提取一个值并将其写入Rails中的数据库。特别是我正在寻找的是一种shortUrl从bit.ly API返回的JSON中提取的方法:{   "errorCode": 0,   "errorMessage": "",   "results":   {     "http://www.foo.com":     {        "hash": "e5TEd",        "shortKeywordUrl": "",        "shortUrl": "http://bit.ly/1a0p8G",        "userHash": "1a0p8G"     }   },   "statusCode": "OK"}然后使用shortUrl并将其写入与long URL关联的ActiveRecord对象。这是我完全可以在概念中思考的事情之一,当我坐下来执行时,我意识到我有很多需要学习的东西。
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

这些答案有点过时了。所以我给你:

hash = JSON.parse string

Rails的应该会自动加载json模块你,所以你并不需要添加require 'json'


查看完整回答
反对 回复 2019-08-09
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

在Rails中解析JSON非常简单:

parsed_json = ActiveSupport::JSON.decode(your_json_string)

假设,您想要与shortUrl关联的对象是Site对象,它有两个属性 - short_url和long_url。要获得shortUrl并将其与相应的Site对象相关联,您可以执行以下操作:

parsed_json["results"].each do |longUrl, convertedUrl|
  site = Site.find_by_long_url(longUrl)
  site.short_url = convertedUrl["shortUrl"]
  site.saveend


查看完整回答
反对 回复 2019-08-09
?
慕村225694

TA贡献1880条经验 获得超4个赞

要检查的一个站点是Ruby的JSON实现。这个站点提供了一个可以为更快的C扩展变体安装的gem。

根据他们的文档页面的基准,他们声称它比它快21.500ActiveSupport::JSON.decode

代码与Milan Novota对这个gem的答案相同,但解析只是:

parsed_json = JSON(your_json_string)


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 923 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信