2

我有一个数组,我为我正在构建的 API 编码为 JSON,该数组来自数据库,并包含一些我在 JSON 响应中不想要的数据。所以我当然可以做的只是遍历数组,修改它,然后将修改后的数组传递给json_encode(). json_encode但是当 json_encode() 本身迭代它时,我认为如果我能以某种方式告诉它在生成 JSON 时过滤掉某些键,我可以提高性能甚至可读性。

似乎json_encode无法做到这一点,但也许还有其他东西我可以用来编码为 json 呢?我看到 json_encode() 有一个可以改变行为的选项参数,但你似乎不能添加你自己的?

例如,我记得我曾经浏览过一个 json 解析器类,它有一个名为类似的方法parseKey($key, $val),如果你想添加一个过滤器,你可以重写它。

4

1 回答 1

1

你可以这样做:

$data = array("foo"=>1, "bar"=>2, "baz"=>3);
$rmk = array("foo");
$json = json_encode(array_diff_key($data, array_flip($rmk)));

这将过滤掉带有 in 键的值$rmk。但是,当谈到提高可读性时,我不确定。

于 2013-03-24T16:21:05.187 回答