在PHP中有没有一种查询JSON的方法?

5
我使用过Google、Yahoo和Bing,但是我找不到什么好的答案。我见过jLinq,但是我希望能够在PHP中查询JSON,希望在服务器文件系统内进行所有数据存储,而不是使用SQL数据库。不,我不在意听起来有多糟糕。
有什么想法吗?我认为会有一个针对此类问题的PHP类。
-----编辑-----
伙计们,谢谢你们迄今为止的回答,但我认为json_encode和json_decode并没有太大用处。我想要能够编码/解码JSON,并且能够搜索其中具有特定键和特定值的键。尽管我已经向自己证明我可以这样做,但这需要很多代码,对于应该如此简单的事情来说,这实在太麻烦了。你们还有其他想法吗?

在谷歌上搜索“linq php”、“php query”之类的内容,可以找到大量的项目。 - goat
没事,Rambo 程序员。谢谢。我会试试看。 - Ricky Yoder
@RickyYoder,看看MongoDB吧。它非常适合存储JSON数据并进行查询。 - Jashwant
JSON可以很容易地用作内存中“数据库”的序列化格式,但我不确定你是否正在寻找这种方式...你是在寻找直接访问JSON文件的CRUD吗? - Alexei Levenkov
我想说,这个可以做到。我希望能够轻松地获取JSON文件的特定部分。 - Ricky Yoder
显示剩余2条评论
4个回答

5

0

您可以调用json_encode将数据转换为字符串,并将此字符串写入文件。然后,当您想要使用它时,读取整个文件并调用json_decode将其转换回数据。处理完毕后,请重复编码/写入步骤。

但是,如果有多个进程这样做,它们将完全覆盖彼此的操作。因此,这不是管理共享数据的非常好的方法。


0
你可以尝试使用 JSONPath,它允许你像操作 XML 一样查询 JSON。

-1

看一下json_decode。这可以让你将JSON字符串解析为PHP对象。理论上,你可以将字符串存储为文件,并使用file_get_contents从文件中检索字符串。

你需要编写自己的搜索/索引/更新等算法,但如果你不想使用真正的数据库解决方案(因为你说过,“不管听起来有多糟糕。”),那么我想这个方法可以行得通。

要在从json_decode获取的对象中搜索值,请查看in_arrayarray_search


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接