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)));

これにより、 のキーを持つ値が除外されます$rmk。ただし、読みやすさの向上に関してはわかりません。

于 2013-03-24T16:21:05.187 に答える