インターネット技術の継続的な発展に伴い、フロントエンドとバックエンドの対話プロセスにおける通信プロトコルは、XML 形式から JSON 形式に徐々に変化してきました。 JSON 形式を使用すると、余分なスペースが表示される場合があり、これらのスペースはデータ送信の負担を増大させるだけでなく、JSON データの解析時に問題を引き起こすことがあります。したがって、実際の開発では、JSON データ内の余分なスペースを削除する必要があります。この記事では、PHP を使用して JSON データ内の余分なスペースを削除する方法を紹介します。
1. 余分なスペースの原因
JSON 内の余分なスペースを削除する方法を理解する前に、まず余分なスペースの原因を理解しましょう。
一部のプログラマーはコードを書くとき、「小さな問題は問題ではない」という精神で、一見重要ではないように見えるいくつかのことを見落とすことがあります。 余分なスペースなどの小さな問題JSONで。そして、これらの「小さな問題」によって、最終的にはプログラムが正しく実行されなくなる可能性があります。
フロントエンドとバックエンドが対話する場合、データ送信中に余分なスペースが生成されることがあります。たとえば、File_get_contents 関数を使用して JSON データを取得すると、返されるコンテンツには余分なスペースが含まれます。
JSON を記述するとき、読みやすくするために、JSON データに手動でスペースを追加することがあります。これらの手動で追加されたスペースにより、JSON データ形式が非標準になり、結果としてスペースが冗長になる可能性があります。
2. JSON データ内の余分なスペースを削除する
余分なスペースの原因を理解した後、PHP を使用して JSON データ内の余分なスペースを削除する方法を紹介します。
方法 1: Json_decode 関数を使用する
PHP の Json_decode 関数を使用すると、JSON データを PHP 配列に簡単に変換できます。 JSON データを PHP 配列に変換する場合、2 番目のパラメーターを true に設定することで、JSON データ内の余分なスペースを削除できます。具体的なコードは次のとおりです。
$data = '{"name": "小明", "age": 18}'; $data = json_decode($data, true, JSON_UNESCAPED_UNICODE); echo json_encode($data, JSON_UNESCAPED_UNICODE);
上記のコードでは、Json_decode 関数を使用して、JSON データ $data を PHP 配列に変換します。エンコードに Json_encode 関数を使用する場合、2 番目のパラメーターは JSON_UNESCAPED_UNICODE に設定され、中国語はエンコードされなくなります。このメソッドを使用して JSON から余分なスペースを削除する原理は、JSON がエンコードされるときにスペースが無視されることです。
方法 2: スペースを手動で削除する
Json_decode 関数を使用することに加えて、JSON データ内の余分なスペースを削除するコードを手動で作成することもできます。具体的なコードは次のとおりです。
$data = '{"name": "小明", "age": 18}'; $data = preg_replace('/s/', '', $data); echo $data;
上記のコードでは、preg_replace 関数を使用します。この関数は正規表現置換関数で、最初のパラメータは正規表現、2 番目のパラメータは置換される文字です。この関数では、正規表現 s を使用して、入力文字列内のスペースと一致します。 s を null 文字に置き換えることで、JSON データ内の余分なスペースを削除する効果が得られます。
要約:
要約すると、この記事では、JSON データ内の余分なスペースの原因を紹介し、JSON データ内の余分なスペースを削除する 2 つの方法を示します。 JSON データを使用するときに余分なスペースの問題が発生した場合は、上記の 2 つの方法を試してみるとよいでしょう。この記事が皆さんのお役に立てれば幸いです。
以上がjsonで余分なスペースを削除するphpの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。