2011-11-16 2 views
0

다음 문자열을 해시 또는 json으로 변환하려고합니다.문자열을 JSON/해시로 구문 분석하십시오.

어떻게 이것을 루비에서 할 수 있습니까?

[{"place":null,"coordinates":null,"in_reply_to_user_id":null,"in_reply_to_status_id":null, 
"favorited":false,"truncated":false,"created_at":"Wed Nov 16 08:00:46 +0000 2011","retweet_count":0,"in_reply_to_screen_name":null, 
"user":{"profile_background_image_url":"http:\/\/a1.twimg.com\/profile_background_images\/190989640\/afcx.jpg","protected":false, 
"statuses_count":23414,"profile_link_color":"FF0000"},"retweeted":false,"in_reply_to_status_id_str":null,"in_reply_to_user_id_str":null,"contributors":null,"geo":null}] 

저는 ruby1.8.7을 실행 중입니다.

+0

주,하지만 당신은 레일을 사용하는 경우 나도 몰라 :

the_hash = arr[0] # or maybe arr.first 

을 나는이 얻을. –

답변

4

당신이 가지고있는 것은 이미 JSON 인 것처럼 보입니다. 그래서 당신이 Ruby 해시를 얻으려고한다고 가정합니다. 그렇다면,이 작동합니다 :

gem install json_pure, 네이티브 루비 구현 (더 빠른, C 기반 버전이 있지만 JSON 문자열이 매우 다르지 않으면 차이점을 알 수 없을 것입니다. 큰 또는 당신은 그들을 많이 가지고).

당신이 준 문자열이 루비 해시 매핑됩니다 무언가를 포함하는 단일 요소의 배열임을 다음

require 'json' 
arr = JSON(your_json_string_here) 

참고. 그냥 해시하려는 경우 : 레일 JSON 라이브러리와 함께 제공

{"coordinates"=>nil, "created_at"=>"Wed Nov 16 08:00:46 +0000 2011", 
"truncated"=>false, "favorited"=>false, "in_reply_to_user_id_str"=>nil, 
"contributors"=>nil, in_reply_to_status_id_str"=>nil, "retweet_count"=>0, 
"geo"=>nil, "retweeted"=>false, "in_reply_to_user_id"=>nil, 
"user"=>{"profile_link_color"=>"FF0000", "protected"=>false, 
"statuses_count"=>23414, 
"profile_background_image_url"=>"http://a1.twimg.com/profile_background_images/190989640/afcx.jpg"}, 
"in_reply_to_screen_name"=>nil, place"=>nil, "in_reply_to_status_id"=>nil} 
관련 문제