gpt4 book ai didi

ruby-on-rails - 如何从 Ruby on Rails 中的远程 JSON 文件的内容中读取单个数据?

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:57 27 4
gpt4 key购买 nike

我正在尝试从石油和天然气管理局网站上的 json API 内容中读取个人数据;但是我的代码返回了所有数据。任何帮助将不胜感激。

require 'json'
require 'open-uri'

def index
url='http://data-ogauthority.opendata.arcgis.com/datasets/ab4f6b9519794522aa6ffa6c31617bf8_0.geojson'
@result = JSON.parse open(url).read
end

这是我的索引 View :

<% @result.each do |row| %>
<%= row %>
<% end %>

最佳答案

假设 API(如您当前正在使用的那样)返回如下 JSON 结构:

{
"type":"FeatureCollection",
"features":[
{
"type":"Feature",
"properties":{
"FIELDNAME":"GRYPHON",
"FIELDTYPE":"OIL",
"NAME_SHORT":"GRYPHON",
"STATUS":"PRODUCING",
"DISC_DATE":"1987/07",
"DISC_WELL":"9/18b-7",
"STAT_CODE":"800",
"PROD_DATE":"1993/10",
"DEPTH_M":"111.86",
"DET_STATUS":"DETERMINED",
"ORIG_OP":"KERR-MCGEE",
"ORIG_LIC":"P.496",
"ORIG_LIC_2":"P.478",
"ORIG_LIC_3":"P.257",
"ORIG_LIC_4":"P.103",
"ORIG_LIC_5":" ",
"CURR_OPER":"MAERSK OIL NORTH SEA UK LIMITED",
"FIELDDATA":"https://itportal.decc.gov.uk/fields/fields_index/ukcs+field+information+listed+by+field+name/183.htm",
"OBJECTID":16,
"OGA_COP":null
},
"geometry":{
"type":"Polygon",
"coordinates":[
[
[1.5701447246411744,59.35253688325039],
...
]
]
}
},
...
]
}

你可以这样做:

<% @result[:features].each do |feature| %>
<%= feature[:properties][:FIELDNAME] %>
<%= feature[:properties][:FIELDTYPE] %>
...
<% end %>

您的 JSON 文件看起来大约有 1.3MB。因此,除非您能弄清楚如何在 API 端过滤结果(我想是使用查询参数),否则您最终可能会在检索 JSON 时遇到各种性能问题。

而且,您可能想做:

@result = JSON.parse(open(url).read).with_indifferent_access

这样您就可以使用symbols 访问hash 元素以及strings

关于ruby-on-rails - 如何从 Ruby on Rails 中的远程 JSON 文件的内容中读取单个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44784159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com