使用地图格式化 JSON

Using map to format JSON

我对 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" 数组中找到我需要的内容?

您需要先从散列中提取 "Members"

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