Maison > développement back-end > Problème PHP > PHP ajoute, supprime et modifie les fichiers json

PHP ajoute, supprime et modifie les fichiers json

WBOY
Libérer: 2023-05-24 15:10:07
original
958 Les gens l'ont consulté

Avec le développement d'Internet, les interactions de données deviennent de plus en plus fréquentes, parmi lesquelles JSON (JavaScript Object Notation) est devenu l'un des formats de transmission de données préférés de tous. Par conséquent, le traitement des données JSON devient de plus en plus important. Cet article présentera l'utilisation de PHP pour traiter les opérations d'ajout, de suppression, de modification et de recherche de fichiers JSON.

  1. La base grammaticale de JSON

Avant d'expliquer formellement le fonctionnement de JSON par PHP, comprenez d'abord la base grammaticale de JSON. JSON utilise des paires clé-valeur pour enregistrer les données, où la clé est placée entre guillemets doubles, suivis de deux points, puis d'une valeur (peut être n'importe quel type de valeur, tel que : chaîne, nombre, valeur booléenne, tableau, objet, nul). Plusieurs paires clé-valeur sont séparées par des virgules et l'intégralité du JSON est entourée d'accolades {}.

Par exemple :

{

"name": "张三",
"age": 25,
"city": "上海",
"friends": [
    "李四",
    "王五",
    "赵六"
]
Copier après la connexion
Copier après la connexion

}

  1. Fonction JSON en PHP#🎜 🎜#
PHP a quelques fonctions intégrées pour traiter les données JSON, elles incluent :

json_encode() : utilisé pour convertir les tableaux PHP en chaînes au format JSON.

json_decode() : utilisé pour convertir une chaîne au format JSON en tableau/objet PHP.

json_last_error() : utilisé pour obtenir les informations d'erreur générées par le dernier encodage/décodage JSON.

Ce qui suit présentera l'utilisation spécifique de ces fonctions à travers des exemples.

    Lecture et analyse des fichiers JSON
Nous supposons qu'il existe un fichier JSON data.json avec le contenu suivant :

#🎜 🎜#{

"name": "张三",
"age": 25,
"city": "上海",
"friends": [
    "李四",
    "王五",
    "赵六"
]
Copier après la connexion
Copier après la connexion

}

Nous devons lire ce fichier JSON et l'analyser dans un tableau PHP, utilisez simplement la fonction json_decode(), le code est le suivant suit :

# 🎜🎜#
// 读取JSON文件
$json_str = file_get_contents('data.json');

// 解析JSON文件为PHP数组
$data = json_decode($json_str, true);

// 打印数组
print_r($data);
Copier après la connexion

?>

Le résultat de sortie est le suivant :

Array

(

[name] => 张三
[age] => 25
[city] => 上海
[friends] => Array
    (
        [0] => 李四
        [1] => 王五
        [2] => 赵六
    )
Copier après la connexion

)

Parmi eux, le deuxième paramètre de la fonction json_decode() est vrai, ce qui signifie qu'il est décodé dans un tableau PHP. Si ce paramètre n'est pas passé ou si false est passé, il sera décodé en un objet PHP.

Écriture et génération de fichiers JSON

  1. En PHP, vous pouvez utiliser json_encode() pour convertir un tableau PHP en fonction de chaîne au format JSON. Par exemple, pour convertir le tableau $data de l'exemple ci-dessus en une chaîne au format JSON, le code est le suivant :
// 将PHP数组转换为JSON格式字符串
$json_str = json_encode($data, JSON_UNESCAPED_UNICODE);

// 打印JSON格式字符串
echo $json_str;
Copier après la connexion

?>

# 🎜🎜#Les résultats de sortie sont les suivants :

{"name":"Zhang San","age":25,"city":"Shanghai","friends" :["李思"," Wang Wu","Zhao Liu"]}

Comme vous pouvez le voir, le deuxième paramètre JSON_UNESCAPED_UNICODE de la fonction json_encode() signifie ne pas échapper au chinois dans l'encodage Unicode.

Ensuite, nous devons écrire la chaîne au format JSON ci-dessus dans un fichier. Vous pouvez utiliser la fonction file_put_contents() Le code est le suivant :

// 将JSON格式字符串写入文件
file_put_contents('result.json', $json_str);
Copier après la connexion

?>

Le premier paramètre est le nom du fichier enregistré, et le deuxième paramètre est la chaîne de format JSON à écrire.

Modification du fichier JSON

Modifier le fichier JSON signifie en fait modifier son tableau PHP correspondant, puis convertir le tableau au format JSON String, juste écraser le fichier d'origine. Supposons que nous voulions changer l'âge de Zhang San à 30 ans. Le code est le suivant :
  1. // 修改PHP数组
    $data['age'] = 30;
    
    // 将PHP数组转换为JSON格式字符串
    $json_str = json_encode($data, JSON_UNESCAPED_UNICODE);
    
    // 覆盖原来的JSON文件
    file_put_contents('data.json', $json_str);
    Copier après la connexion
?>

#🎜🎜. ##🎜 🎜#Suppression des fichiers JSON

Pour supprimer les fichiers JSON, vous pouvez utiliser la fonction unlink(), comme suit :

// 删除JSON文件
unlink('data.json');
Copier après la connexion
#🎜 🎜#?>
  • Requête de données JSON

    Lors du traitement des données en JSON, nous avons souvent besoin d'interroger la valeur d'une certaine clé. Si vous devez interroger la ville de Zhang San, le code est le suivant :

    // 读取JSON文件
    $json_str = file_get_contents('data.json');
    
    // 解析JSON文件为PHP数组
    $data = json_decode($json_str, true);
    
    // 查询张三的城市
    $city = $data['city'];
    
    // 打印张三的城市
    echo $city;  // 上海
    Copier après la connexion
      ?>
    1. Comme vous pouvez voir à partir de cet exemple, il n'y a aucune différence entre le traitement des données JSON en PHP et le traitement de tableaux ou d'objets ordinaires.

    Résumé

    Cet article présente les opérations d'ajout, de suppression, de modification et d'interrogation de PHP sur les fichiers JSON, y compris la lecture et l'analyse, l'écriture et la génération, la modification, la suppression et l'interrogation. Bien entendu, ces opérations sont basées sur des fichiers ou des chaînes JSON, et non sur des bases de données. Par conséquent, lorsque nous devons traiter de grandes quantités de données, il est recommandé d’utiliser une base de données plutôt que des fichiers JSON.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Recommandations populaires
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal