5

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

想法还是?我认为这会有一个 PHP 类。

- - -编辑 - - -

伙计们,到目前为止,感谢您的回答,但我认为 json_encode 和 json_decode 没有多大用处。我想要做的是对 JSON 进行编码/解码,并能够在其中搜索具有特定值的特定键。尽管我已经向自己证明了我可以做到这一点,但对于本应如此简单的事情来说,它有很多代码。你还有什么想法吗?

4

4 回答 4

5

您可以使用 JsonQ 包。这个包可以像 Query Builder 一样查询 JSON 数据。

https://github.com/nahid/jsonq

于 2018-05-30T10:17:27.083 回答
0

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

但是,如果您有多个进程在执行此操作,它们将完全覆盖彼此正在执行的操作。所以这不是管理共享数据的好方法。

于 2012-12-02T05:43:24.477 回答
0

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

于 2012-12-02T05:44:50.733 回答
-1

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

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

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

于 2012-12-02T05:42:04.283 回答