如何将 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,
}}

我想获取字段 latlong 并在 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

检查official except documentation