ホームページ > バックエンド開発 > PHPの問題 > PHP は返されたデータが json 形式であるかどうかをどのように判断しますか?

PHP は返されたデータが json 形式であるかどうかをどのように判断しますか?

PHPz
リリース: 2023-04-21 09:19:09
オリジナル
1506 人が閲覧しました

開発ではインターフェースやその他のデータソースから返されたデータの処理が頻繁に行われますが、その中でもJSON形式のデータの処理は非常に一般的なタスクです。 PHP は高度に動的に型付けされた言語として、JSON 形式のデータを処理するためのさまざまな組み込み関数と拡張ライブラリを提供します。しかし、実際の開発では、返されたデータがJSON形式であるかどうかをどうやって判断するかという問題に直面するかもしれません。

この記事では、PHP を使用してこの問題を解決する方法を検討します。

  1. JSON 形式とは何ですか?

返されたデータが JSON 形式であるかどうかを判断する方法について説明する前に、まず JSON 形式について理解しましょう。

JSON は、JavaScript Object Notation (JavaScript Object Notation) の略称で、軽量のデータ交換形式です。これは、任意のプログラミング言語で解析および生成できるテキスト形式です。 JSON データはキーと値のペアで構成されます。キーは文字列で、値は文字列、数値、ブール値、オブジェクト、配列、その他のデータ型になります。

以下は簡単な JSON データの例です:

{
    "name": "John",
    "age": 30,
    "married": true,
    "pets": ["dog", "cat"]
}
ログイン後にコピー
  1. 返されたデータが JSON 形式であるかどうかを確認するにはどうすればよいですか?

PHP では、いくつかの組み込み関数を使用して、返されたデータが JSON 形式であるかどうかを判断できます。一般的な方法は次の 2 つです:

方法 1: を使用します。 json_decodeFunction

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 形式ではありません。

  1. 概要

この記事では、PHP を使用して、返されたデータが JSON 形式であるかどうかを確認する方法について説明しました。よく使われる2つの方法を紹介しました 1つ目は json_decode 関数と json_last_error 関数を使用して判定する方法 2つ目は json_last_error 関数を使用して判定する方法。どの方法を使用しても、データが後続の処理のために JSON 形式であるかどうかをすぐに判断できます。

以上がPHP は返されたデータが json 形式であるかどうかをどのように判断しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート