programing

루비 해시 개체를 JSON으로 변환하려면 어떻게 해야 합니까?

sourcejob 2023. 2. 16. 21:36
반응형

루비 해시 개체를 JSON으로 변환하려면 어떻게 해야 합니까?

루비 해시 개체를 JSON으로 변환하려면 어떻게 해야 합니까?그럼 아래 예를 들어 보겠습니다만, 동작하지 않는 것입니까?

루비닥을 보고 있었는데Hash오브젝트에는 다음이 없습니다.to_json방법.하지만 나는 레일즈가 지원하는 블로그를 읽고 있다.active_record.to_json또,hash#to_json.나는 이해할 수 있다.ActiveRecordRails 객체입니다만,HashRails의 네이티브가 아니라 순수한 Ruby 객체입니다.그래서 Rails에서는hash.to_json순수한 루비는 아니구요?

car = {:make => "bmw", :year => "2003"}
car.to_json

Ruby의 많은 장점 중 하나는 기존 클래스를 자신만의 방법으로 확장할 수 있다는 것입니다.이것을 「클래스 재개」 또는 「원숭이 패칭」이라고 부릅니다(다만, 후자의 의미는 다양합니다).

여기를 봐주세요.

car = {:make => "bmw", :year => "2003"}
# => {:make=>"bmw", :year=>"2003"}
car.to_json
# NoMethodError: undefined method `to_json' for {:make=>"bmw", :year=>"2003"}:Hash
#   from (irb):11
#   from /usr/bin/irb:12:in `<main>'
require 'json'
# => true
car.to_json
# => "{"make":"bmw","year":"2003"}"

보시는 바와 같이json마법처럼 방법을 가져왔다to_json델에게Hash.

require 'json/ext' # to use the C based extension instead of json/pure

puts {hash: 123}.to_json

를 사용할 수도 있습니다.JSON.generate:

require 'json'

JSON.generate({ foo: "bar" })
=> "{\"foo\":\"bar\"}"

아니면 그 가명,JSON.unparse:

require 'json'

JSON.unparse({ foo: "bar" })
=> "{\"foo\":\"bar\"}"

파일 상단에 다음 행을 추가합니다.

require 'json'

다음으로 다음을 사용할 수 있습니다.

car = {:make => "bmw", :year => "2003"}
car.to_json

또는 다음을 사용할 수 있습니다.

JSON.generate({:make => "bmw", :year => "2003"})

언급URL : https://stackoverflow.com/questions/3183786/how-to-convert-a-ruby-hash-object-to-json

반응형