有没有办法在PHP中查询JSON?

时间:2012-12-02 05:37:34

标签: php json class filesystems

我使用过Google,Yahoo和Bing,但我找不到任何好的答案。我见过jLinq,但我希望能够在PHP中查询JSON,希望不是一个SQL数据库,而是我服务器上文件系统中的所有数据存储。不,我不在乎听起来有多糟糕。

但是想法呢?我认为会有一个PHP类。

- - - - - - - - 编辑

伙计们,感谢您到目前为止的答案,但我认为json_encode和json_decode并不是很有用。我想要做的是编码/解码JSON,并能够搜索具有特定值的特定键。虽然我已经向自己证明我可以这样做,但是很多代码应该是如此简单。还有其他想法吗?

4 个答案:

答案 0 :(得分:2)

您可以使用JsonQ包。该包可以查询JSON数据,如Query Builder。

https://github.com/nahid/jsonq

答案 1 :(得分:0)

查看json_decode。这允许您将JSON作为字符串并将其解析为PHP中的对象。理论上,您可以将字符串存储为文件,并使用file_get_contents从文件中检索字符串。

你必须编写自己的搜索/索引/更新/等算法,但如果你不想使用真正的数据库解决方案(因为你说,不,我不在乎它有多糟糕)听起来。),然后我想这会奏效。

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

答案 2 :(得分:0)

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

但是如果你有多个进程这样做,它们将完全覆盖彼此正在做的事情。因此,这不是管理共享数据的好方法。

答案 3 :(得分:0)

您可以尝试JSONPath它允许您像xml一样使用xpath查询json。