web-dev-qa-db-fra.com

Comment représentez-vous un tableau JSON de chaînes?

C'est tout ce dont vous avez besoin pour un JSON valide, non?

["somestring1", "somestring2"]
164
finneycanhelp

Je vais élaborer un peu plus sur ChrisR réponse géniale et apporter des images de son référence géniale .

Un JSON valide commence toujours par des accolades { ou des crochets [, rien d'autre.

{ démarrera un object:

left brace followed by a key string (a name that can't be repeated, in quotes), colon and a value (valid types shown below), followed by an optional comma to add more pairs of string and value at will and finished with a right brace

{ "key": value, "another key": value }

Indice : bien que javascript accepte les guillemets simples ', JSON ne prend que les doubles ".

[ démarrera un array:

left bracket followed by value, optional comma to add more value at will and finished with a right bracket

[value, value]

Astuce : les espaces entre les éléments sont toujours ignorés par tout analyseur JSON.

Et value est un object, array, string, number, bool ou null:

Image showing the 6 types a JSON value can be: string, number, JSON object, Array/list, boolean, and null

Alors oui, ["a", "b"] est un JSON parfaitement valide, comme vous pourriez essayer le lien que Manish a pointé .

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"]
}
273
cregox

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, de sorte que 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".

J'utilise http://jsonlint.com/ pour valider mon JSON.

54
PapaSmurf

En gros, oui, JSON est juste une représentation littérale en 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/

40
ChrisR
String strJson="{\"Employee\":
[{\"id\":\"101\",\"name\":\"Pushkar\",\"salary\":\"5000\"},
{\"id\":\"102\",\"name\":\"Rahul\",\"salary\":\"4000\"},
{\"id\":\"103\",\"name\":\"tanveer\",\"salary\":\"56678\"}]}";

Voici un exemple de chaîne JSON avec Employee en tant qu'objet, puis plusieurs chaînes et valeurs dans un tableau en tant que référence à @cregox...

Un peu compliqué mais peut expliquer beaucoup de choses dans une seule chaîne JSON.

4