【发布时间】:2016-09-28 14:58:36
【问题描述】:
我有一个名为 line 的 json 对象数组:
[{"label":"Name","value":"Bob","identifier":"field2","type":"oneLineText","page":1,"page_name":"Step 1","width":"100%"},{"label":"Email","value":"bob@compagny.com","identifier":"field3","type":"email","page":1,"page_name":"Step 1","width":"100%"},{"label":"Phone Number","value":"","identifier":"field7","type":"oneLineText","page":1,"page_name":"Step 1","width":"100%"},{"label":"Comments","value":"some information about the compagny","identifier":"field5","type":"textarea","page":1,"page_name":"Step 1","width":"100%"}]
如何获取标签评论的值 :"label":"Comments","value":"some information about the compagny"
这是我的代码:
data = JSON.parse(line)
data.each do |key, value|
puts "#{key}"
puts "#{key} name: #{value["name"]}"
puts "#{key} value: #{value["value"]}\n"
label = value["name"]
value = value["value"]
if (label eq "label") && (value eq "Comments")
puts "#{key} value: #{value["value"]}\n"
end
end
解析第一个对象 id 后出现错误:
{"label"=>"Name", "value"=>"Bob", "identifier"=>"field2", "type"=>"oneLineText", "page"=>1, "page_name"=>"Step 1", "width"=>"100%"}
undefined method `[]' for nil:NilClass (NoMethodError)`
【问题讨论】:
标签: arrays json ruby ruby-1.9.3