Ruby:将POST表单获取的JSON字符串转换为JSON对象数组
在Ruby中解析JSON字符串并遍历对象数组
这事儿在Ruby里超简单,用标准库自带的JSON模块就能搞定,不用额外装gem。我给你一步步拆解:
步骤1:引入JSON模块
虽然Ruby 1.9及以上版本默认包含了JSON库,但最好还是显式引入,避免环境差异:
require 'json'
步骤2:解析JSON字符串
把你从POST表单拿到的字符串传给JSON.parse方法,它会直接把JSON数组转换成Ruby的Array,每个JSON对象对应成Ruby的Hash:
# 假设这是你从POST获取的字符串 json_string = '[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]' # 解析成Ruby数组 users = JSON.parse(json_string)
步骤3:遍历并访问对象
现在users就是一个普通的Ruby数组了,你可以用each循环逐个遍历,然后通过哈希键访问每个字段:
users.each do |user| puts "用户名:#{user['Name']},ID:#{user['ID']}" # 这里还可以做其他操作,比如存入数据库、处理数据等 end
可选:用符号键访问(更Ruby风格)
如果你习惯用符号(比如user[:Name])而不是字符串键访问,可以在解析时加上symbolize_names: true参数:
users = JSON.parse(json_string, symbolize_names: true) users.each do |user| puts "用户名:#{user[:Name]},ID:#{user[:ID]}" end
这样就完美实现你要的逐个遍历访问每个JSON对象的需求啦~
内容的提问来源于stack exchange,提问作者Niro
相关产品推荐
相关产品推荐

