3

これは、次のような sample.json ファイルです

{
"name": "Jack (\"Bee\") Nimble",
"format": {
    "shape": "rect",
    "width": 1920,
    "height": 1080,
    "interlace": false,
    "framerate": 24
 }
}

spec ファイルでは、sample.json ファイルが開かれています。

describe Samplespec do
  before :all do
  @jsonfile = File.open('sample.json').read
  @file_json = Samplespec.new(@jsonfile)
 end

これをsample.rbファイルに書きました

require 'json'
def initialize(val)
 @parsed_val = JSON.parse(val)
end

これはうまくいかないようです。助けてください。ありがとうございました

4

1 に答える 1

3

Hash#to_sRuby の形式は JSON とほぼ同じ形式であるため、JSON.parse からの出力はおそらく同じです。このコード(あなたのコード)は私のために働きます:

json = '{
"name": "Jack (\"Bee\") Nimble",
"format": {
    "shape": "rect",
    "width": 1920,
    "height": 1080,
    "interlace": false,
    "framerate": 24
 }
}'

require 'json'
def parse(val)
 @parsed_val = JSON.parse(val)
end

json = parse(json)

puts json
puts json['name']

したがって、最初のものputsは JSON を再度出力するように見えますが (Hash#to_s だけです)、2 番目putsのものはキーだけを正しく出力しnameます。

于 2012-08-01T14:21:11.407 に答える