2014-04-18 19 views
1
require 'rubygems' 
require 'json' 
require 'net/http' 
require 'uri' 
require 'open-uri' 
require 'openssl' 

class UsersController < ApplicationController 

    def show 
    @json_object = JSON.pretty_generate(JSON.parse(open("some link").read)) 
    end 
end 

這是我的控制器文件我在我的控制器(Ruby/Rails)中有一個JSON對象,但我想訪問Json的對象屬性。如何做到這一點

我創建了一個視圖來顯示JSON對象的內容。

show.html.erb

<% = @json_object %> 

它輸出JSON對象 但

1)我想打印在特定格式的JSON對象。

2)我想保存在數據庫中的某些JSON值。在紅寶石

+1

'我想以特定格式打印JSON對象',您能對此更具體嗎? –

+0

特定格式表示 JSON對象的正確縮進 –

回答

1

JSON對象是一個簡單的HashArray S,Hash ES,String S和Numeric小號Array

因此,要在你的JSON特定的元素,你應該簡單地找到它的JSON的結構表明:

json_string = '{ "test": { "this": "here" }, "other": 3 }' 

@json_object = JSON.parse(json_string) 

@json_object['test']['this'] 
# => "here" 

再次打印作爲一個JSON對象,你需要對其進行格式化使用JSON.pretty_generate

JSON.pretty_generate(@json_object['test']) 
# => { 
# => "this": "here" 
# => } 
+0

感謝您的回答。但我解析字符串爲 @json_object [1] 這打印整個數組json對象,但我不能訪問內部元素。例如JSON對象的例如 。 puts json_object [1] {「id」=>「325」,「name」=>「Day Pass」,「price_per_cycle」=>「0.0」} –

+0

@ user3382377我不確定你有什麼問題遇到 - 它的格式?看到我的更新回答。還有別的嗎?你嘗試了什麼?你得到了什麼?你期望什麼? –

相關問題