Ruby如何将二维数组转换为带service_name等指定键的JSON对象
Ruby数组转指定结构JSON实现方案
你可以通过Ruby内置的json标准库配合数组的map方法快速完成转换,操作如下:
- 首先引入
json标准库,无需额外安装第三方gem - 遍历二维数组的每一组子元素,将其映射为指定键名的哈希结构
- 直接调用
to_json方法将转换后的哈希数组序列化为JSON格式
完整可运行代码示例:
require 'json' top_services = [["mfemve", "12,22"], ["vmtoolsd", "5,39"], ["zabbix_agentd", "1,89"]] # 转换+序列化可合并为一行写法 result_json = top_services.map { |service_name, value| { service_name: service_name, value: value } }.to_json puts result_json
运行后输出的JSON结果为:
[{"service_name":"mfemve","value":"12,22"},{"service_name":"vmtoolsd","value":"5,39"},{"service_name":"zabbix_agentd","value":"1,89"}]
如果需要将value中的逗号替换为小数点转为数值类型,可修改map内的逻辑:
result_json = top_services.map { |service_name, value| { service_name: service_name, value: value.gsub(',', '.').to_f } }.to_json
内容的提问来源于stack exchange,提问作者Molusco
相关产品推荐
相关产品推荐

