如何将 JSON 中 1 中的 2 个字段与 Rails 中的 Ruby 合并
How to join 2 fields in 1 in JSON with Ruby on Rails
所以我在 JSON:
中有这段代码
[ {
"idema" : "0009X",
"lon" : 0.963335,
"fint" : "2022-05-03T13:00:00",
"prec" : 0.0,
"alt" : 406.0,
"vmax" : 5.8,
"vv" : 2.2,
"dv" : 102.0,
"lat" : 41.213894,
}}
我想获取字段 lat
和 long
并在 JOSN 中像这样合并它们:
"longlat": "POINT(23.0 33.0)",
我正在像这样解析文件顺便说一句:
meteo_station_list = JSON.parse(File.read('meteo_stations.json'))
meteo_station_list.each do |station|
MeteoStationAemet.create(station.to_h)
谢谢!
1- 您需要将此 Json 转换为哈希
meteo_station_list = JSON.parse(File.read('meteo_stations.json')).with_indifferent_access
2- 您只需要遍历哈希并使用此代码段
def genrate_point
meteo_station_list.each do |station|
station[:longlat] = "point(#{station[:lat]} #{station[:lon]}"
station.except!(:lat,:lon)
end
end
所以我在 JSON:
中有这段代码[ {
"idema" : "0009X",
"lon" : 0.963335,
"fint" : "2022-05-03T13:00:00",
"prec" : 0.0,
"alt" : 406.0,
"vmax" : 5.8,
"vv" : 2.2,
"dv" : 102.0,
"lat" : 41.213894,
}}
我想获取字段 lat
和 long
并在 JOSN 中像这样合并它们:
"longlat": "POINT(23.0 33.0)",
我正在像这样解析文件顺便说一句:
meteo_station_list = JSON.parse(File.read('meteo_stations.json'))
meteo_station_list.each do |station|
MeteoStationAemet.create(station.to_h)
谢谢!
1- 您需要将此 Json 转换为哈希
meteo_station_list = JSON.parse(File.read('meteo_stations.json')).with_indifferent_access
2- 您只需要遍历哈希并使用此代码段
def genrate_point
meteo_station_list.each do |station|
station[:longlat] = "point(#{station[:lat]} #{station[:lon]}"
station.except!(:lat,:lon)
end
end