如何使用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'
。
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
慕村225694
TA贡献1880条经验 获得超4个赞
要检查的一个站点是Ruby的JSON实现。这个站点提供了一个可以为更快的C扩展变体安装的gem。
根据他们的文档页面的基准,他们声称它比它快21.500倍ActiveSupport::JSON.decode
代码与Milan Novota对这个gem的答案相同,但解析只是:
parsed_json = JSON(your_json_string)
- 3 回答
- 0 关注
- 923 浏览
添加回答
举报
0/150
提交
取消