JSON en tant qu'objet JavaScript

Considérez une pile de convertisseurs dans une étape qui contient un convertisseur Convertir à l'aide de JavaScript. Ce convertisseur accède à la sortie du convertisseur précédent sous la forme d'une variable nommée INPUT à utiliser dans le JavaScript utilisé par le convertisseur. La valeur de la variable INPUT est toujours une chaîne de caractères.

Le tableau suivant indique les valeurs de conversion possibles de la variable INPUT.

Valeur d'entrée

JavaScript (OUTPUT =)

Résultat (valeur OUTPUT)

5

OUTPUT = INPUT

5

5

OUTPUT = INPUT + 3

53

5

OUTPUT = eval(INPUT)

5

5

OUTPUT = eval(INPUT) + 3

8

5

OUTPUT = eval(INPUT + 3)

53

5

OUTPUT = eval(INPUT + " + 3")

8

[1,2,3]

OUTPUT = INPUT[0]

[

[1,2,3]

OUTPUT = eval(INPUT) [0]

1

{ "a" : 5 }

OUTPUT = eval(INPUT).a

"Erreur de syntaxe"

{ "a" : 5 }

OUTPUT = eval("var x=" + INPUT + "; x;").a;

5

Veuillez noter ce qui suit lors de la conversion de JSON en JavaScript :

  • INPUT est une variable liée à une valeur de chaîne. Par conséquent, toute opération que vous effectuez sur INPUT est une opération de chaîne. Par exemple, + est une concaténation de chaînes de caractères. C'est pourquoi INPUT + 3 devient 53 dans l'exemple ci-dessus.
  • La fonction "eval" n'accepte que du JavaScript correct en entrée et {"a":5} n'est pas une ligne de JavaScript syntaxiquement correcte, mais var x = {"a":5} l'est ; c'est pourquoi le dernier exemple ci-dessus est celui qui fonctionne.