Maison développement back-end tutoriel php Comment PHP et MySQL gèrent-ils les données de chaîne en JSON ?

Comment PHP et MySQL gèrent-ils les données de chaîne en JSON ?

Jul 12, 2023 pm 12:33 PM
php处理json字符串 mysql处理json数据 json数据处理技巧

Comment PHP et MySQL gèrent-ils les données de chaîne en JSON ?

Avec le développement rapide d'Internet, la transmission et le traitement des données sont devenus le travail quotidien de tout programmeur. Parmi elles, le traitement du JSON (JavaScript Object Notation) est l'une des tâches les plus courantes. JSON est un format d'échange de données léger largement utilisé pour la transmission et le stockage de données front-end et back-end.

En PHP et MySQL, le traitement des données de chaîne en JSON est l'une des exigences les plus courantes. Cet article explique comment traiter les données de chaîne en JSON en PHP et MySQL.

1. PHP traite les données de chaîne en JSON

En PHP, nous pouvons utiliser la fonction intégrée json_decode() pour convertir les chaînes JSON en objets PHP ou en tableaux associatifs. Voici un exemple : json_decode()将JSON字符串转换为PHP对象或关联数组。下面是一个示例:

<?php
$json = '{"name":"Tom","age":25,"email":"tom@example.com"}';
$data = json_decode($json);

echo $data->name;  // 输出:Tom
echo $data->age;   // 输出:25
echo $data->email; // 输出:tom@example.com
?>
Copier après la connexion

在上面的例子中,我们将一个JSON字符串解码为一个PHP对象,并使用箭头操作符->访问对象的属性。如果你希望将JSON解码为关联数组,可以将json_decode()的第二个参数设置为true,如下所示:

<?php
$json = '{"name":"Tom","age":25,"email":"tom@example.com"}';
$data = json_decode($json, true);

echo $data['name'];  // 输出:Tom
echo $data['age'];   // 输出:25
echo $data['email']; // 输出:tom@example.com
?>
Copier après la connexion

除了解码JSON字符串,PHP还可以使用json_encode()函数将PHP对象或数组编码为JSON字符串。下面是一个示例:

<?php
$data = [
    'name' => 'Tom',
    'age' => 25,
    'email' => 'tom@example.com'
];
$json = json_encode($data);

echo $json;  // 输出:{"name":"Tom","age":25,"email":"tom@example.com"}
?>
Copier après la connexion

在上面的例子中,我们将一个关联数组编码为一个JSON字符串,并使用echo语句将其输出。

二、MySQL处理JSON中的字符串数据

在MySQL 5.7之后的版本中,引入了JSON类型,可以直接存储和处理JSON数据。下面是一个示例:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    data JSON
);

INSERT INTO users (data) VALUES ('{"name":"Tom","age":25,"email":"tom@example.com"}');

SELECT data->'$.name' AS name, data->'$.age' AS age, data->'$.email' AS email FROM users;
Copier après la connexion

在上面的例子中,我们创建了一个名为users的表,其中有一个data列,类型为JSON。然后,我们插入了一条包含JSON数据的记录,并使用SELECT语句查询了其中的属性。

在MySQL中,我们可以使用->操作符访问JSON数据的属性。$符号表示根元素,后面的点号.和引号''表示属性路径。你也可以使用JSON_EXTRACT()函数来提取属性值:

SELECT JSON_EXTRACT(data, '$.name') AS name, JSON_EXTRACT(data, '$.age') AS age, JSON_EXTRACT(data, '$.email') AS email FROM users;
Copier après la connexion

以上代码有助于在MySQL中提取JSON数据的属性。

总结

本文介绍了如何在PHP和MySQL中处理JSON中的字符串数据。在PHP中,可以使用json_decode()将JSON字符串解码为PHP对象或数组,然后使用json_encode()将PHP对象或数组编码为JSON字符串。在MySQL中,可以使用->操作符直接访问JSON数据的属性,也可以使用JSON_EXTRACT()rrreee

Dans l'exemple ci-dessus, nous décodons une chaîne JSON en un objet PHP et accédons aux propriétés de l'objet à l'aide des opérateurs fléchés ->. Si vous souhaitez décoder JSON en un tableau associatif, vous pouvez définir le deuxième paramètre de json_decode() sur true comme suit :

rrreee

En plus de décoder les chaînes JSON, PHP peut également utiliser la fonction json_encode() pour encoder un objet ou un tableau PHP dans une chaîne JSON. Voici un exemple : 🎜rrreee🎜Dans l'exemple ci-dessus, nous encodons un tableau associatif dans une chaîne JSON et le produisons à l'aide de l'instruction echo. 🎜🎜2. MySQL traite les données de chaîne en JSON🎜🎜Dans les versions postérieures à MySQL 5.7, le type JSON a été introduit, qui peut directement stocker et traiter les données JSON. Voici un exemple : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons créé une table nommée users avec une colonne data de type JSON. Nous avons ensuite inséré un enregistrement contenant des données JSON et interrogé ses propriétés à l'aide de l'instruction SELECT. 🎜🎜Dans MySQL, nous pouvons utiliser l'opérateur -> pour accéder aux propriétés des données JSON. Le symbole $ représente l'élément racine, et le point suivant . et les guillemets '' représentent le chemin de l'attribut. Vous pouvez également utiliser la fonction JSON_EXTRACT() pour extraire les valeurs d'attribut : 🎜rrreee🎜Le code ci-dessus permet d'extraire les attributs des données JSON dans MySQL. 🎜🎜Résumé🎜🎜Cet article explique comment traiter les données de chaîne en JSON en PHP et MySQL. En PHP, vous pouvez utiliser json_decode() pour décoder une chaîne JSON en un objet ou un tableau PHP, puis utiliser json_encode() pour encoder l'objet ou le tableau PHP en un Chaîne JSON. Dans MySQL, vous pouvez utiliser l'opérateur -> pour accéder directement aux attributs des données JSON, ou vous pouvez utiliser la fonction JSON_EXTRACT() pour extraire les valeurs d'attribut. 🎜🎜J'espère que cet article vous aidera à comprendre et à appliquer PHP et MySQL pour traiter les données 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!

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) 11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) Mar 03, 2025 am 10:49 AM

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Introduction à l'API Instagram Introduction à l'API Instagram Mar 02, 2025 am 09:32 AM

Introduction à l'API Instagram

Travailler avec les données de session Flash dans Laravel Travailler avec les données de session Flash dans Laravel Mar 12, 2025 pm 05:08 PM

Travailler avec les données de session Flash dans Laravel

Misque de réponse HTTP simplifié dans les tests Laravel Misque de réponse HTTP simplifié dans les tests Laravel Mar 12, 2025 pm 05:09 PM

Misque de réponse HTTP simplifié dans les tests Laravel

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

Construisez une application React avec un Laravel Back End: Partie 2, React Construisez une application React avec un Laravel Back End: Partie 2, React Mar 04, 2025 am 09:33 AM

Construisez une application React avec un Laravel Back End: Partie 2, React

12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

12 meilleurs scripts de chat PHP sur Codecanyon

Notifications à Laravel Notifications à Laravel Mar 04, 2025 am 09:22 AM

Notifications à Laravel

See all articles