Le contenu de cet article porte sur ce qu'est le format JSON ? L'introduction de l'utilisation du format JSON (avec 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.
1 : Définition du format JSON
JSON (JavaScript Object Notation) est un format léger d'échange de données. Facile à lire et à écrire pour les humains. Il est également facile à analyser et à générer pour les machines. Il a été proposé par Douglas Crockford en 2001 pour remplacer le format XML encombrant et encombrant.
2. Règles de format JSON
La valeur du type composite ne peut être qu'un tableau ou un objet, pas une fonction, un objet d'expression régulière, ou un objet date.
Il n'existe que quatre types simples de valeurs : chaîne, valeur numérique (doit être exprimée en décimal), valeur booléenne et null (NaN, Infinity, -Infinity et undefined ne peuvent pas être utilisés) .
Les chaînes doivent être représentées par des guillemets doubles, les guillemets simples ne peuvent pas être utilisés.
Le nom de clé de l'objet doit être placé entre guillemets doubles.
Aucune virgule ne peut être ajoutée après le dernier membre d'un tableau ou d'un objet.
Les tableaux vides et les objets vides sont tous deux des valeurs JSON qualifiées, et null lui-même est également une valeur JSON qualifiée
以下是合格的 JSON 值。 ["one", "two", "three"] { "one": 1, "two": 2, "three": 3 } {"names": ["张三", "李四"] } [ { "name": "张三"}, {"name": "李四"} ]
以下是不合格的 JSON 值。 { name: "张三", 'age': 32 } // 属性名必须使用双引号 [32, 64, 128, 0xFFF] // 不能使用十六进制值 { "name": "张三", "age": undefined } // 不能使用undefined { "name": "张三", "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'), "getName": function() { return this.name; } } // 不能使用函数和日期对象
1) Objectif
est utilisé pour convertir une valeur en chaîne. La chaîne est conforme au format JSON et peut être restaurée par la méthode JSON.parse.
2) Donnez un exemple
JSON.stringify('abc') // ""abc"" JSON.stringify(1) // "1" JSON.stringify(false) // "false" JSON.stringify([]) // "[]" JSON.stringify({}) // "{}" JSON.stringify([1, "false", false]) // '[1,"false",false]' JSON.stringify({ name: "张三" }) // "{"name":"张三"}"
3) Résumé
Écrivez d'abord "" pour convertir au format chaîne , puis convertissez le contenu qui doit être converti selon les règles du format json. Ajoutez "" à "", puis mettez le contenu converti dans "" et appelez-le un jour
. 4 ) Cas particulier
Les contenus non supportés par le format json seront filtrés, répartis en 3 situations
Objet original
Objet original Si la valeur d'un membre est indéfinie, une fonction ou un objet XML, ce membre sera filtré
var obj = { a: undefined, b: function () {} }; JSON.stringify(obj) // "{}"
Array
Si le membre du tableau est indéfini, une fonction ou un objet XML, alors ces valeurs seront converties en null
var arr = [undefined, function () {}]; JSON.stringify(arr) // "[null,null]"
3. Objet régulier
L'objet régulier sera converti en objet vide.
JSON.stringify(/foo/) // "{}"
1) Objectif
La méthode JSON.parse est utilisée pour convertir la chaîne de format JSONConvertir en objet.
2) Par exemple
JSON.parse('{}') // {} JSON.parse('true') // true JSON.parse('"foo"') // "foo" JSON.parse('[1, 5, "false"]') // [1, 5, "false"] JSON.parse('null') // null var o = JSON.parse('{"name": "张三"}'); o.name // 张三
3) Cas particulier
Si la chaîne entrante n'est pas dans un format JSON valide, La méthode JSON.parse signalera une erreur.
JSON.parse("'String'") // illegal single quotes // SyntaxError: Unexpected token ILLEGAL
4) Pièges rencontrés
L'une des cases rouges contient des guillemets simples et l'autre contient des guillemets doubles. Les deux fonctionnent correctement.
Cela représente les guillemets utilisés pour indiquer que la valeur est une chaîne. Vous pouvez utiliser des guillemets simples ou doubles, mais les guillemets indiquant que le contenu est au format json doivent être écrits entre guillemets doubles
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!