インターネットの発展に伴い、データのやり取りはますます頻繁になり、その中でも JSON (JavaScript Object Notation) は誰もが好むデータ送信形式の 1 つになりました。したがって、JSON データの処理はますます重要になっています。この記事では、PHP を使用して JSON ファイルの追加、削除、変更、検索操作を処理する方法を紹介します。
PHP による JSON の操作を正式に説明する前に、まず JSON の文法的基礎を理解してください。 JSON はキーと値のペアを使用してデータを記録します。キーは二重引用符で囲まれ、その後にコロン、値が続きます (文字列、数値、ブール値、配列、オブジェクトなど、任意のタイプの値を指定できます)。ヌル)。複数のキーと値のペアはカンマで区切られ、JSON 全体が中かっこ {} で囲まれます。
例:
{
"name": "张三", "age": 25, "city": "上海", "friends": [ "李四", "王五", "赵六" ]
}
PHP 組み込みJSON データを処理するための関数がいくつかあります。
json_encode(): PHP 配列を JSON 形式の文字列に変換するために使用されます。
json_decode(): JSON 形式の文字列を PHP 配列/オブジェクトに変換するために使用されます。
json_last_error(): 最後の JSON エンコード/デコードによって生成されたエラー情報を取得するために使用されます。
以下、これらの関数の具体的な使い方を例を挙げて紹介します。
次の内容を含む JSON ファイル data.json があると想定します:
{
"name": "张三", "age": 25, "city": "上海", "friends": [ "李四", "王五", "赵六" ]
}
この JSON ファイルを読み取って PHP 配列に解析する必要があります。json_decode() 関数を使用するだけです。コードは次のとおりです:
// 读取JSON文件 $json_str = file_get_contents('data.json'); // 解析JSON文件为PHP数组 $data = json_decode($json_str, true); // 打印数组 print_r($data);
?>
出力結果は以下の通りです:
Array
(
[name] => 张三 [age] => 25 [city] => 上海 [friends] => Array ( [0] => 李四 [1] => 王五 [2] => 赵六 )
)
このうち、 json_decode() 関数の 2 番目のパラメータは true で、PHP 配列にデコードすることを示します。このパラメータが渡されない場合、または false が渡された場合は、PHP オブジェクトにデコードされます。
PHP では、 json_encode() 関数を使用して、PHP 配列を JSON 形式の文字列に変換できます。たとえば、上記の例の配列 $data を JSON 形式の文字列に変換するには、コードは次のとおりです:
// 将PHP数组转换为JSON格式字符串 $json_str = json_encode($data, JSON_UNESCAPED_UNICODE); // 打印JSON格式字符串 echo $json_str;
?>
出力結果は次のとおりです:
{"name":"Zhang San","age":25,"city":"Shanghai","friends":["李四","王五","Zhao Liu" ]}
ご覧のとおり、 json_encode() 関数の 2 番目のパラメーター JSON_UNESCAPED_UNICODE は、中国語を Unicode エンコードにエスケープしないことを意味します。
次に、上記の JSON 形式の文字列をファイルに書き込む必要があります。file_put_contents() 関数を使用できます。コードは次のとおりです:
// 将JSON格式字符串写入文件 file_put_contents('result.json', $json_str);
?>
最初のパラメータは保存されたファイル名、2 番目のパラメータは書き込まれる JSON 形式の文字列です。
JSON ファイルの変更とは、実際には、対応する PHP 配列を変更し、その配列を JSON 形式の文字列に変換して、元の Just ファイルを上書きすることを意味します。 Zhang San の年齢を 30 歳に変更するとします。コードは次のとおりです:
// 修改PHP数组 $data['age'] = 30; // 将PHP数组转换为JSON格式字符串 $json_str = json_encode($data, JSON_UNESCAPED_UNICODE); // 覆盖原来的JSON文件 file_put_contents('data.json', $json_str);
?>
JSON ファイルを削除するには、次のように unlink() 関数を使用できます:
// 删除JSON文件 unlink('data.json');
?>
JSON でデータを処理するとき、多くの場合、特定のキーの値をクエリする必要があります。 Zhang San の都市をクエリする必要がある場合、コードは次のとおりです:
// 读取JSON文件 $json_str = file_get_contents('data.json'); // 解析JSON文件为PHP数组 $data = json_decode($json_str, true); // 查询张三的城市 $city = $data['city']; // 打印张三的城市 echo $city; // 上海
?>
この例からわかるように、JSONデータは PHP で処理されます。通常の配列やオブジェクトを扱うのと変わりはありません。
概要
この記事では、JSON ファイルに対する PHP の追加、削除、変更、クエリ操作 (読み取りと解析、書き込みと生成、変更、削除、クエリなど) を紹介します。もちろん、これらの操作はデータベースではなく、JSON ファイルまたは文字列に基づいています。したがって、大量のデータを処理する必要がある場合は、JSON ファイルの代わりにデータベースを使用することをお勧めします。
以上がPHP は json ファイルを追加、削除、変更しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。