Quelle est l'application de json en php ? (exemple de code)
Ce que cet article vous apporte concerne l'application de json en php ? (Exemple de code) a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère que cela vous sera utile.
À partir de la version 5.2, PHP fournit nativement les fonctions json_encode() et json_decode(), la première est utilisée pour l'encodage, et la seconde est utilisée pour le décodage.
1. json_encode()
Cette fonction est principalement utilisée pour convertir des tableaux et des objets au format json. Regardons d'abord un exemple de conversion de tableau :
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr);
Le résultat est : {"a":1,"b":2,"c":3,"d":4,"e ":5 }<span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token number"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token number"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token number"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token number"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token number"><span class="token punctuation"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
Regardez un autre exemple de conversion d'objet :
$obj->body = 'another post'; $obj->id = 21; $obj->approved = true; $obj->favorite_count = 1; $obj->status = NULL; echo json_encode($obj);
Le résultat est : {"body":"another post","id" :21," approved":true,"favorite_count":1,"status":null}
Puisque json n'accepte que les caractères codés en utf-8, les paramètres de json_encode() doivent être encodé en utf-8, sinon vous obtiendrez un caractère nul ou null. Lorsque le chinois utilise le codage GB2312 ou que les langues étrangères utilisent le codage ISO-8859-1, une attention particulière doit être portée à ce point.
2. Tableaux indexés et tableaux associatifs
PHP prend en charge deux types de tableaux, l'un est un tableau indexé qui stocke uniquement un tableau "valeur" (valeur). ), l'autre est un tableau associatif qui stocke les paires nom/valeur.
Étant donné que javascript ne prend pas en charge les tableaux associatifs, json_encode() convertit uniquement le tableau indexé au format tableau et convertit le tableau associatif au format objet.
Par exemple, il y a maintenant un tableau d'index
$arr = array('one','two','three'); echo json_encode($arr);
结果为:["one","two","three"]
Si vous le changez en tableau associatif :
$arr = Array('1'=>'one', '2'=>'two', '3'=>'three'); echo json_encode($arr);
Le résultat changements : {"1": "un", "2": "deux", "3": trois"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"> </span></span></span></span></span></span></span></span></span></span></span></span></span>
Notez que le format des données passe de "[]" (tableau) Devenu "{}" (objet).
Si vous devez forcer "tableau d'index" dans "objet" , vous pouvez écrire comme ceci :
json_encode( (object)$arr );
ou :
json_encode ( $arr, JSON_FORCE_OBJECT );
3. Conversion de classe
Ce qui suit est une classe PHP :
class Foo { const ERROR_CODE = '404'; public $public_ex = 'this is public'; private $private_ex = 'this is private!'; protected $protected_ex = 'this should be protected'; public function getErrorCode() { return self::ERROR_CODE; } }
Maintenant, effectuez la conversion json sur les instances de cette classe :
$foo = new Foo; $foo_json = json_encode($foo); echo $foo_json;
Le résultat de sortie est : {"public_ex":"this is public"}<span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"> </span></span></span></span></span>
<span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token string"><span class="token punctuation"> </span></span></span></span></span>
Comme vous pouvez le voir, sauf pour les variables publiques (publiques) , tout le reste (constantes, variables privées, méthodes, etc.) est perdu.
4. json_decode()
Cette fonction est utilisée pour convertir le texte json dans la structure de données PHP correspondante. Voici un exemple :
$json = '{"foo": 12345}'; $obj = json_decode($json); print $obj->{'foo'}; // 12345
Normalement, json_decode() renvoie toujours un objet PHP, pas un tableau. Par exemple :
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
Le résultat est de générer un objet PHP :
object(stdClass)[2] public 'a' => int 1 public 'b' => int 2 public 'c' => int 3 public 'd' => int 4 public 'e' => int 5
Si vous souhaitez forcer la génération d'un tableau associatif PHP, json_decode () doit ajouter un paramètre true :
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json,true));
Le résultat est un tableau associatif :
array (size=5) 'a' => int 1 'b' => int 2 'c' => int 3 'd' => int 4 'e' => int 5
5. >
Les trois façons suivantes d'écrire json sont toutes fausses. Pouvez-vous voir où se trouve l'erreur ?$bad_json = "{ 'bar': 'baz' }"; $bad_json = '{ bar: "baz" }'; $bad_json = '{ "bar": "baz", }';
retournera null et signalera une erreur.
第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。
第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。
第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。
另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。
var_dump(json_decode("Hello World")); //null
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

L'annotation Gson@Expose peut être utilisée pour marquer si un champ est exposé (inclus ou non) pour la sérialisation ou la désérialisation. L'annotation @Expose peut prendre deux paramètres, chaque paramètre est une valeur booléenne et peut prendre la valeur vrai ou faux. Pour que GSON réagisse à l'annotation @Expose, nous devons créer une instance Gson à l'aide de la classe GsonBuilder et appeler la méthodeexpiseFieldsWithoutExposeAnnotation(), qui configure Gson pour exclure tous les champs sans annotation Expose de la sérialisation ou de la désérialisation. Syntaxe publicGsonBuilderexclud

La combinaison de golangWebSocket et JSON : réaliser la transmission et l'analyse des données Dans le développement Web moderne, la transmission de données en temps réel devient de plus en plus importante. WebSocket est un protocole utilisé pour établir une communication bidirectionnelle. Contrairement au modèle de requête-réponse HTTP traditionnel, WebSocket permet au serveur de transmettre activement des données au client. JSON (JavaScriptObjectNotation) est un format léger d'échange de données, concis et facile à lire.

MySQL5.7 et MySQL8.0 sont deux versions différentes de la base de données MySQL. Il existe quelques différences principales entre elles : Améliorations des performances : MySQL8.0 présente quelques améliorations de performances par rapport à MySQL5.7. Ceux-ci incluent de meilleurs optimiseurs de requêtes, une génération de plans d'exécution de requêtes plus efficaces, de meilleurs algorithmes d'indexation et des requêtes parallèles, etc. Ces améliorations peuvent améliorer les performances des requêtes et les performances globales du système. Prise en charge JSON : MySQL 8.0 introduit la prise en charge native du type de données JSON, y compris le stockage, la requête et l'indexation des données JSON. Cela rend le traitement et la manipulation des données JSON dans MySQL plus pratiques et efficaces. Fonctionnalités de transaction : MySQL8.0 introduit de nouvelles fonctionnalités de transaction, telles que l'atome

Les méthodes d'optimisation des performances pour la conversion des tableaux PHP en JSON incluent : l'utilisation d'extensions JSON et de la fonction json_encode() ; l'ajout de l'option JSON_UNESCAPED_UNICODE pour éviter l'échappement de caractères ; l'utilisation de tampons pour améliorer les performances d'encodage de boucle et l'utilisation d'un tiers ; Bibliothèque d'encodage JSON.

La gestion des formats de données XML et JSON dans le développement C# nécessite des exemples de code spécifiques. Dans le développement de logiciels modernes, XML et JSON sont deux formats de données largement utilisés. XML (Extensible Markup Language) est un langage de balisage permettant de stocker et de transmettre des données, tandis que JSON (JavaScript Object Notation) est un format d'échange de données léger. Dans le développement C#, nous devons souvent traiter et exploiter des données XML et JSON. Cet article se concentrera sur la façon d'utiliser C# pour traiter ces deux formats de données et les attacher.

Utilisez la fonction json.MarshalIndent dans Golang pour convertir la structure en une chaîne JSON formatée. Lors de l'écriture de programmes dans Golang, nous avons souvent besoin de convertir la structure en chaîne JSON. Dans ce processus, la fonction json.MarshalIndent peut nous aider à implémenter. sortie formatée. Ci-dessous, nous expliquerons en détail comment utiliser cette fonction et fournirons des exemples de code spécifiques. Commençons par créer une structure contenant des données. Ce qui suit est une indication

Démarrage rapide : méthode Pandas de lecture des fichiers JSON, des exemples de code spécifiques sont requis Introduction : Dans le domaine de l'analyse des données et de la science des données, Pandas est l'une des bibliothèques Python importantes. Il fournit des fonctions riches et des structures de données flexibles, et peut facilement traiter et analyser diverses données. Dans les applications pratiques, nous rencontrons souvent des situations où nous devons lire des fichiers JSON. Cet article expliquera comment utiliser Pandas pour lire des fichiers JSON et joindra des exemples de code spécifiques. 1. Installation de Pandas

Les annotations dans la bibliothèque Jackson contrôlent la sérialisation et la désérialisation JSON : Sérialisation : @JsonIgnore : Ignorer la propriété @JsonProperty : Spécifiez le nom @JsonGetter : Utilisez la méthode get @JsonSetter : Utilisez la méthode set Désérialisation : @JsonIgnoreProperties : Ignorez la propriété @ JsonProperty : Spécifiez le nom @JsonCreator : utilisez le constructeur @JsonDeserialize : logique personnalisée
