開発ではインターフェースやその他のデータソースから返されたデータの処理が頻繁に行われますが、その中でもJSON形式のデータの処理は非常に一般的なタスクです。 PHP は高度に動的に型付けされた言語として、JSON 形式のデータを処理するためのさまざまな組み込み関数と拡張ライブラリを提供します。しかし、実際の開発では、返されたデータがJSON形式であるかどうかをどうやって判断するかという問題に直面するかもしれません。
この記事では、PHP を使用してこの問題を解決する方法を検討します。
返されたデータが JSON 形式であるかどうかを判断する方法について説明する前に、まず JSON 形式について理解しましょう。
JSON は、JavaScript Object Notation (JavaScript Object Notation) の略称で、軽量のデータ交換形式です。これは、任意のプログラミング言語で解析および生成できるテキスト形式です。 JSON データはキーと値のペアで構成されます。キーは文字列で、値は文字列、数値、ブール値、オブジェクト、配列、その他のデータ型になります。
以下は簡単な JSON データの例です:
{ "name": "John", "age": 30, "married": true, "pets": ["dog", "cat"] }
PHP では、いくつかの組み込み関数を使用して、返されたデータが JSON 形式であるかどうかを判断できます。一般的な方法は次の 2 つです:
方法 1: を使用します。 json_decode
Function
json_decode
関数は、JSON 形式の文字列を PHP 変数に変換できる PHP の組み込み関数です。受信文字列が有効な JSON 形式でない場合は、NULL 値が返されます。
次のコードを使用して、返されたデータが JSON 形式であるかどうかを判断できます:
function isJson($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); }
このメソッドでは、まず json_decode
関数を呼び出して解析を試みます。 JSON 文字列。解析が失敗した場合は、文字列が JSON 形式ではないことを意味します。
次に、json_last_error
関数を呼び出して、json_decode
関数の最後の呼び出しのエラー コードを取得します。 JSON_ERROR_NONE
が返された場合、文字列は JSON 形式であり、それ以外の場合は JSON 形式ではありません。
方法 2: json_last_error
関数を使用する
json_last_error
関数は、最後に発生したエラー コードを取得できる PHP の組み込み関数です。 JSON エンコードとデコードが発生した時間。この関数が JSON_ERROR_NONE
を返した場合は、受信文字列が JSON 形式であることを意味し、そうでない場合は JSON 形式ではありません。
次のコードを使用して、返されたデータが JSON 形式であるかどうかを判断できます。
function isJson($string) { return is_string($string) && is_array(json_decode($string, true)) && (json_last_error() == JSON_ERROR_NONE); }
このメソッドでは、まず is_string
関数を使用して、受信値は文字列型です。次に、json_decode
関数を呼び出して、JSON 文字列を解析し、PHP 配列に変換します。この関数が配列を返し、json_last_error
関数の戻り値が成功した場合は、受信文字列が JSON 形式であることを意味し、そうでない場合は JSON 形式ではありません。
この記事では、PHP を使用して、返されたデータが JSON 形式であるかどうかを確認する方法について説明しました。よく使われる2つの方法を紹介しました 1つ目は json_decode
関数と json_last_error
関数を使用して判定する方法 2つ目は json_last_error
関数を使用して判定する方法。どの方法を使用しても、データが後続の処理のために JSON 形式であるかどうかをすぐに判断できます。
以上がPHP は返されたデータが json 形式であるかどうかをどのように判断しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。