如何从php中的json文件中获得特定的部分?



我想获得文件的特定部分,而不是使用file_get_contents()函数来拉取整个文件。例如,我有一个json文件,如下所示:

{
"0": {
"id":1,
"name":"test1",
},
"1": {
"id":2,
"name":"test2",
}
}

如上所述,有一个具有10,000个键的json数据。有超过1500个这样的文件。在这些文件中,我想获得数据id = 4999的部分,例如,从具有上述数据的文件中。

是唯一的方法,通过拉动整个文件的内容,解码,然后搜索?或者有更简单的方法吗?

我问这个问题的原因是,例如,一个页面上将有10个不同的数据。而这些数据可能是包含在10个不同文件内容中的信息。当我提取并解码这10个文件时,一个数组将包含100,000条数据。这会降低系统运行速度吗?

是通过拉取文件的整个内容来解决这个问题的唯一方法解码然后搜索?

…是的。因为如果您只提取文件的一部分,那么检索到的数据将不会形成有效的JSON对象,因此将无法解码,因此您将无法轻松访问任何数据。

注:我猜你可以尝试在这种情况下使用一些文本搜索/解析,例如使用正则表达式来尝试找到单个对象,但这可能很难/不可能实现,并且可能相当脆弱。我一点也不推荐。

P.P.S.如果你有这么多的数据,并且经常需要从中检索特定的信息,我建议也许数据库是比一系列大JSON文件更好的存储位置。

最新更新