반응형
루비 해시 객체를 JSON으로 변환하는 방법?
루비 해시 객체를 JSON으로 변환하는 방법? 그래서 아래 에서이 예제를 시도하고 있는데 작동하지 않습니까?
RubyDoc을보고 있었고 분명히 Hash
객체에는 to_json
메소드 가 없습니다 . 하지만 Rails가 지원 active_record.to_json
하고 지원하는 블로그를 읽고 있습니다 hash#to_json
. ActiveRecord
Rails 객체 는 이해할 수 있지만 Hash
Rails 고유의 것은 아니며 순수한 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\"}"
json
파일에 포함시켜야 합니다
예를 들어
require 'json'
your_hash = {one: "1", two: "2"}
your_hash.to_json
자세한 내용 json
은 아래 링크를 방문하십시오. JSON 학습
참고 URL : https://stackoverflow.com/questions/3183786/how-to-convert-a-ruby-hash-object-to-json
반응형
'Programing' 카테고리의 다른 글
명령 행에서 JUnit 테스트 케이스를 실행하는 방법 (0) | 2020.03.09 |
---|---|
System.gc ()를 호출하는 것이 왜 나쁜 습관입니까? (0) | 2020.03.09 |
스택의 목적은 무엇입니까? (0) | 2020.03.09 |
@RequestParam 및 @PathVariable (0) | 2020.03.09 |
모노는 프라임 타임 준비가 되셨습니까? (0) | 2020.03.09 |