我的Controller(Ruby / Rails)中有一个JSON对象,但我想访问Json的Object属性。怎么做

时间:2014-04-18 20:57:55

标签: ruby-on-rails ruby json

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

这是我的控制器文件

我创建了一个视图来显示JSON对象的内容。

show.html.erb

<% = @json_object %>

它打印JSON对象 但

1)我想以特定格式打印JSON对象。

2)我想在数据库中保存某些JSON值。

1 个答案:

答案 0 :(得分:1)

ruby​​中的JSON对象只是HashArray Array s,Hash es,StringNumeric s

因此,要获取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"
# => }