C'est un tableau JSON contenant deux chaînes, oui ... y a-t-il plus à cette question? ;)
Ville
J'ai lu quelque chose qui contredit ce sur quoi nous sommes tous d'accord. Donc, je voulais le contrôle de la réalité là-bas. Merci!
finneycanhelp
4
Ah, je vois! C'est dommage que vous ne puissiez pas accepter votre propre question comme réponse: D
Ville
:) Eh bien, ce ne sont pas seulement les réponses qui sont amusantes. Ce sont des gens formidables comme vous qui contribuent à faire de ce site un succès amusant!
Voici quelques exemples JSON valides supplémentaires, un par bloc:
{}[0]{"__comment":"json doesn't accept comments and you should not be commenting even in this way","avoid!":"also, never add more than one key per line, like this"}[{"why":null}]{"not true":[0,false],"true":true,"not null":[0,1,false,true,{"obj":null},"a string"]}
Représentation de l'interface utilisateur So Awesome
Shridutt Kothari
JSON doit-il avoir des guillemets doubles? J'ai essayé de valider la chaîne de l'OP ci-dessus mais avec des guillemets simples sur jsonlint.com et cela me dit qu'elle n'est pas valide. Mais c'est valable lorsque vous utilisez des guillemets doubles.
Ray
@Ray comme d'habitude, cela n'a pas de réponse simple par oui ou par non, même si je dirais que c'est principalement "ouais, allez avec des guillemets doubles". json.org ne nous dit que l'utilisation de guillemets doubles, et la plupart des endroits suivront probablement cela. Cependant, voici une enquête plus approfondie à ce sujet: stackoverflow.com/a/2275428/274502
cregox
61
Votre objet JSON dans ce cas est une liste. JSON est presque toujours un objet avec des attributs; un ensemble d'une ou plusieurs paires clé: valeur, donc vous verrez probablement un dictionnaire:
{"MyStringArray":["somestring1","somestring2"]}
alors vous pouvez demander la valeur de "MyStringArray"et vous obtiendrez une liste de deux chaînes, "somestring1"et "somestring2".
L'exemple de code que vous avez publié n'est pas valide, lorsque vous essayez d'analyser cette chaîne en tant que json, cela génère une erreur / une exception. Le fait que vous disiez que JSON est toujours une paire clé / valeur est également intrinsèquement faux. Rien dans la spécification JSON n'indique que vous devez avoir des paires clé / valeur. Quand on parle de transport de données, les paires clé / valeur sont en effet la structure la plus utile, mais la chaîne publiée par l'OP est parfaitement valide JSON: codebeautify.org/jsonviewer/92ac7b
ChrisR
1
J'avais des API sur le cerveau, où vous voulez rechercher la valeur dans un tableau basé sur une clé. Donc ce serait, pour un tableau sans nom, {"1": "somestring1", "2": "somestring2"}
PapaSmurf
41
Fondamentalement, oui, JSON est juste une représentation littérale javascript de votre valeur, donc ce que vous avez dit est correct.
Vous pouvez trouver une explication assez claire et bonne de la notation JSON sur http://json.org/
Réponses:
Je vais élaborer un peu plus sur la réponse impressionnante de ChrisR et apporter des images de sa référence impressionnante .
Un JSON valide commence toujours par des accolades
{
ou des crochets[
, rien d'autre.{
va démarrer unobject
:[
va démarrer unarray
:Et
value
est unobject
,array
,string
,number
,bool
ounull
:Alors oui,
["a", "b"]
c'est un JSON parfaitement valide, comme vous pourriez essayer sur le lien que Manish a pointé .Voici quelques exemples JSON valides supplémentaires, un par bloc:
la source
Votre objet JSON dans ce cas est une liste. JSON est presque toujours un objet avec des attributs; un ensemble d'une ou plusieurs paires clé: valeur, donc vous verrez probablement un dictionnaire:
alors vous pouvez demander la valeur de
"MyStringArray"
et vous obtiendrez une liste de deux chaînes,"somestring1"
et"somestring2"
.la source
Fondamentalement, oui, JSON est juste une représentation littérale javascript de votre valeur, donc ce que vous avez dit est correct.
Vous pouvez trouver une explication assez claire et bonne de la notation JSON sur http://json.org/
la source
Ceci est un exemple de chaîne JSON avec
Employee
comme objet, puis plusieurs chaînes et valeurs dans un tableau comme référence à@cregox
...Un peu compliqué mais peut expliquer beaucoup de choses dans une seule chaîne JSON.
la source