帮我解释这段代码T_T为什么它会一直显示语法错误,意外':' exepcting输入结束数据库:{
database: {
total_car_price: 20000,
stock_car_price: 20000,
features: {
rim: {
'16' => 50,
'15' => 30,
'14' => 10
},
color: {
'blue' => 0,
'red' => 0,
'yellow' => 0
},
tint: {
'100' => 80,
'80' => 50,
'50' => 0
},
seat: {
'leather' => 500,
'PVC' => 300
}
}
}
puts "Original price : #{database[:stock_car_price]}"
database[:features].each do |feature, data|
puts feature.upcase
data.each do |option, extra_cost|
puts "#{option} :: #{extra_cost}"
end
while true
selection = gets.chomp
if data.keys.include? selection #make it general that can accept string/integer
database[:total_car_price] += data[selection]
break
else
puts 'Incorrect selection!'
end
end
end
puts "Stock Price :: #{database[:stock_car_price]}"
puts "Final Price :: #{database[:total_car_price]}"
答案 0 :(得分:1)
你应该像这样解析json:
json = {
database: {
total_car_price: 20000,
stock_car_price: 20000,
features: {
rim: {
'16' => 50,
'15' => 30,
'14' => 10
},
color: {
'blue' => 0,
'red' => 0,
'yellow' => 0
},
tint: {
'100' => 80,
'80' => 50,
'50' => 0
},
seat: {
'leather' => 500,
'PVC' => 300
}
}
}
}
parsed_json = JSON.parse(json.to_json)
puts "Original price : #{parsed_json['database']['stock_car_price']}"
以下是工作样本: