使用map格式化JSON

时间:2015-06-30 02:23:25

标签: ruby dashing

我对Ruby很新,我正在使用Dashing.io开发一个仪表板应用程序,我有一些JSON数据,在执行JSON.parse之后,目前看起来像这样:

{"location"=>"Madison Central", "Members"=>{"Mike"=>"Minecraft crafting", "Dave"=>"3D printing"}}

我现在需要做的是在"Members"中映射内容,使其如下所示:

{:label => "Mike", :value=> "Minecraft crafting"}
{:label => "Dave", :value=> "3D printing"}

我尝试使用map,如下所示:

event_data = response.map{|who,status| {label: who, value: status} }

但它错误地输出(可预测):

{:label=>"location", :value=>"Madison Central"}
{:label=>"Members", :value=>{"Mike"=>"Minecraft crafting", "Dave"=>"3D printing"}}

如何在JSON的“Members”数组中找到我需要的内容?

1 个答案:

答案 0 :(得分:2)

您需要先将"Members"拉出哈希

event_data = response["Members"].map{ |who, status| {label: who, value: status }}