将JSON文件从URL加载到laravel中,然后创建一个可以访问该数据的搜索



我是Laravel的新手,正处于项目的时间紧迫期。正在寻求有关开始此项目的任何帮助。我需要从此url导入此表http://ftp.ebi.ac.uk/pub/databases/genenames/hgnc/json/locus_groups/protein-coding_gene.json变成拉拉威尔。第一个问题是把它放在文件结构的哪个位置。

然后,我需要创建一个搜索,可以访问这个表的两个部分(基因符号和位置(并显示结果。有哪些基本的设置技巧和/或代码可以帮助我从搜索栏访问这些数据?

非常感谢!

我知道这个代码会让我开始:

public function index()
$results = file_get_contents("http://ftp.ebi.ac.uk/pub/databases/genenames/hgnc/json/locus_groups/protein-coding_gene.json");
$data = json_decode($results, true);

但不确定该把它放在哪里,从那里去哪里。

第一个问题是把它放在文件结构的哪里。

取决于您是否在每次运行代码时都在动态下载,或者是否将其作为静态资产上传到Laravel应用程序。

如果您正在动态下载,我不确定您是否真的需要将其存储在文件系统中。如果是需要手动更新的资产,请将其上传到公共/资产或类似位置。

如果你想使用它进行搜索,你可能需要将文件存储为资产,并将其加载到你的应用程序中。

然后,我需要创建一个搜索,只访问该表的两个部分(基因符号和位置(并显示结果。有哪些基本的设置技巧和/或代码可以帮助我从搜索栏访问这些数据?

我建议使用类似https://jsonformatter.org/json-parser格式化文件并探索其结构。使用IDE的自动格式化程序也是可以的。

CCD_2只是一个关联数组,因此您可以正常访问其内容。对于搜索,您可以加载JSON文件并在数组中循环,根据您的搜索方法(equality、startsWith等(检查当前对象的名称/位置是否与搜索查询匹配。不过,JSON文件看起来相当大,虽然循环可能不会花费太长时间,但将其全部加载到内存中可能并不好。因此,您可能需要维护某种缓存,或者将数据文件解析到本地数据库中,并为其编写SQL查询

如果你不想旋转数据库等,一种更轻量级的方法可能是处理一次JSON文件,创建一个新的较小的JSON文件,它只包含搜索条件和数组索引引用,指向对象在较大的JSON文件中的位置。

相关内容

最新更新