我正在尝试将以下字符串转换为散列或json。
我如何在ruby中执行此操作?
[{"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 :(得分:4)
你看起来已经是JSON了,所以我假设你正在寻找一个Ruby Hash。如果是这样,那么这应该有效:
获取一个JSON库,我使用gem install json_pure
,这是一个原生的Ruby实现(有一个更快的,基于C的版本,但你不会注意到差异,除非你的JSON字符串非常大或你有一个他们很多)。
然后
require 'json'
arr = JSON(your_json_string_here)
请注意,您提供的字符串是一个单元素数组,其中包含将映射到Ruby Hash的内容。如果你只想要哈希:
the_hash = arr[0] # or maybe arr.first
我明白了:
{"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}