234 votes

Comment représenter un tableau JSON de chaînes de caractères ?

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

["somestring1", "somestring2"]

11 votes

C'est un tableau JSON contenant deux chaînes de caractères, oui... y a-t-il plus à cette question ? ;)

0 votes

J'ai lu quelque chose qui contredisait ce sur quoi nous sommes tous d'accord. Donc, je voulais que la réalité soit vérifiée. Merci.

4 votes

Ah, je vois ! C'est dommage que tu ne puisses pas accepter ta propre question comme réponse :D

362voto

Cawas Points 3303

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

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

{ lancera 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 " .

[ lancera un array :

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

[value, value]

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

Et value es un object , array , string , number , bool o 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 essayez sur le lien que Manish a indiqué .

Voici quelques exemples supplémentaires de JSON valides, 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"]
}

97voto

PapaSmurf Points 1023

Dans ce cas, votre objet JSON est une liste. JSON est presque toujours un objet avec des attributs, c'est-à-dire un ensemble d'une ou plusieurs paires clé:valeur. Vous verrez donc très probablement un dictionnaire :

{ "MyStringArray" : ["somestring1", "somestring2"] }

alors vous pouvez demander la valeur de "MyStringArray" et vous obtiendrez une liste de deux chaînes de caractères, "somestring1" y "somestring2" .

13 votes

L'exemple de code que vous avez posté n'est pas valide, lorsque vous essayez d'analyser cette chaîne en tant que json, une erreur/exception est générée. Le fait que vous disiez que JSON est toujours constitué de paires clé/valeur est également faux en soi. Rien dans la spécification JSON ne dit que vous devez avoir des paires clé/valeur. Lorsque l'on parle de transport de données, les paires clé/valeur sont en effet la structure la plus utile, mais la chaîne que le PO a postée est parfaitement valide en JSON : codebeautify.org/jsonviewer/92ac7b

1 votes

J'avais les API en tête, où vous voulez chercher la valeur d'un tableau en fonction d'une clé. Ce serait donc, pour un tableau sans nom, {"1" : "somestring1", "2" : "somestring2"}

45voto

ChrisR Points 8814

En fait, 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 bonne et claire explication de la notation JSON sur http://json.org/

7voto

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 de caractères et valeurs dans un tableau en tant que référence à @cregox ...

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

3voto

Manish Ranjan Points 1288

Vous pouvez toujours vérifier ici http://jsonlint.com/ pour savoir si le JSON imaginé est correct ou non :)

En outre, comment accéder à ces chaînes en Java ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X