/ / JSON Array Variations de structure - json

Variations de structure de tableau JSON - json

Voici 3 formats de structure JSON Array ...

Le premier, celui décrit sur JSON.org, est celui que je connais bien:

Format n ° 1

{"People": [
{
"name": "Sally",
"age": "10"
},
{
"name": "Greg",
"age": "10"
}
]}

Le second est une légère variation qui nommeles éléments du tableau. Personnellement, je ne m'en occupe pas, vous ne nommez pas les éléments d'un tableau dans le code (ils sont accessibles par index), pourquoi les nommer en JSON?

Format n ° 2

{"People": [
"Person1": {
"name": "Sally",
"age": "10"
},
"Person2": {
"name": "Greg",
"age": "10"
}
]}

Ce dernier est une autre variante, assez similaire à Format n ° 2, mais j'ai un pressentiment que celui-ci est incorrect car il semble y avoir des accolades supplémentaires où ils n'appartiennent pas.

Format n ° 3

{"People": [
{
"Person1": {
"name": "Sally",
"age": "10"
}
},
{
"Person2": {
"name": "Greg",
"age": "10"
}
}
]}

Encore une fois, je suis confiant que Format n ° 1 est valide car il s'agit du format JSON Array décrit sur JSON.org. Cependant, qu'en est-il Format n ° 2 et Format n ° 3? Est-ce que l'un de ces éléments est considéré comme JSON valide? Si oui, d'où viennent ces formats? Je ne les vois pas décrites sur JSON.org ou sur Wikipedia.

Réponses:

7 pour la réponse № 1

Les deux # 1 et # 3 sont (presque - il y a des virgules manquants) JSON valide, mais encodent différentes structures:

  • # 1 vous donne un Tableau de Objets, chacun avec son nom et son âge Propriétés de chaîne
  • # 3 vous donne un Tableau de Objets, chacun avec un seul Propriété de l'objet, chacun avec son nom et son âge Propriétés de chaîne.

Le n ° 2 est invalide: tableaux (définis par [ ... ]) ne peut pas contenir de noms de propriétés.


1 pour la réponse № 2

Solution pour Format n ° 1 Par défaut:

array=[];
object={};

Code JSON:

var Json = {
People:[]
};
Json.People.push({
"name": "Sally",
"age": "10"
});
Json.People.push({
"name": "Greg",
"age": "10"
});

Résultat JSON:

{"People": [ { "name": "Sally", "age": "10" }, { "name": "Greg", "age": "10" } ] }