2013-11-01 6 views
0

Ruby 해시로 변환하려는 JSON 블록이 있습니다. 내가 데이터를 사용하고 때 JSON을 중첩 된 루비 해시로 변환

json_blob = {"WHATEVER"=>{"FOO"=>"BAR", "CAT"=>"DAY}}

그래서, 나는 데이터가 있는지 여부를 확인할 수있다. 예 :

hashed_json_blob[:whatever][:foo] 반환

"bar" 또한, 나는 존재하지 않는 하나 (그들은 json_blob 생략 된) 값을 처리 할 수있다.

hashed_json_blob[:whatever][:nonexistant] 반환 nil

참고로 사용할 수 있습니다 XML로 데이터에 더 쉬운 방법이 있는지. json_blob는 당신이 abc

+0

Amit은 이미 JSON.parse에 대해 언급 한 것처럼 귀하의 질문에 대답하지 않는 것 같습니다. 당신이 달성하고자하는 것에 대해 조금 더 설명해 주시겠습니까? – Novae

답변

1

에 대한 작업을 수행 할 수있는 지금

json_blob = {"WHATEVER"=>{"FOO"=>"BAR", "CAT"=>"DAY}}

abc = JSON.parse(json_blob)

JSON.parse

+0

감사합니다. 나는 그런 식으로 생각하지 않았습니다. 그리고 이것은 제 문제를 거의 해결해줍니다. – cdpalmer

0

gem install json

require 'json' 사용 당겨졌다 당신이 할 수있는이와

json_blob = {"WHATEVER"=>{"FOO"=>"BAR", "CAT"=>"DAY"}} 

: JSON 객체로

json_blob["WHATEVER"] 
=> {"FOO"=>"BAR", "CAT"=>"DAY"} 

json_blob["WHATEVER"]["FOO"] 
=> "BAR" 

같은 데이터 당신의 json_blob 객체 ("DAY"의 끝없는 인용을 뺀) 이미 해시입니다

{"WHATEVER":{"FOO":"BAR","CAT":"DAY"}} 
+0

이것이 XML을 JSON 형식으로 가져온 이유입니다. 내가 아는 한, 나는'JSON.parse'가 JSON – cdpalmer

+0

문자열을 올바른 JSON 형식이어야하고'JSON.parse'를 사용하여'hashed_json_blob [: whatever] [: foo]'로 사용할 수 있다고 생각했습니다. –

관련 문제