如何使用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 關注
- 973 瀏覽
添加回答
舉報
0/150
提交
取消