Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

parser json

22 réponses
Avatar
Olivier Masson
Bonjour,

Dans une variable, j'ai une structure JSON :
var infos = [
{nom: "xxx", prenom: "thomas", adresse:{rue:"avenue victor hugo", num:
"18", cp:"06000", ville:"NICE"}},
{nom: "yyy", prenom: "éric", adresse:{rue:"rue delille", num: "23",
cp:"75000", ville:"PARIS"}},
{nom: "zzz", prenom: "jeanne", adresse:{rue:"impasse toulouse lautrec",
num: "5", cp:"77500", ville:"CHELLES"}}
];

Et je veux récupérer un array contenant toutes les adresses.

Faut-il passer par un quelconque parser JSON ou est-ce une opération
simple en JS ?

Merci.

2 réponses

1 2 3
Avatar
SAM
Le 12/04/12 08:06, Clément a écrit :

>Con: 'with' makes it hard for a human reader or JavaScript compiler to
>decide whether an unqualified name will be found along the scope
>chain, and if so, in which object. So given this example:
>function f(x, o) {
> with (o)
> print(x);
>}

Dans la fonction ci-dessus, quand f() est appelée,
si x n'est pas défini dans l'objet o, on n'aura pas d'erreurs mais des
résultats inattendus (le x de la fonction sera pris et non le x de o).



Ouais mais là qd même il faut être un peu bablé pour inventer un sac de
nœuds pareil !

Le gonze qu'a pondu ça ne s'est pas rendu compte qu'il utilisait des
noms communs à plusieurs variable/propriété/koikonveut ? !

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Olivier Masson
Le 12/04/2012 08:06, Clément a écrit :
Le 11/04/2012 10:43, Olivier Masson a écrit :
Je pense qu'il est quand important de savoir de quoi on parle :) Pour
exemple, je n'ai pas vraiment compris le "contre" de with dans le lien
donné par SAM
<https://developer.mozilla.org/en/JavaScript/Reference/Statements/with>



Prenons la page et traduisons :)




Merci à Paul également pour sa réponse.

>Using with is not recommended, and is forbidden in ECMAScript 5 strict
>mode. The recommended alternative is to assign the object whose
>properties you want to access to a temporary variable.
>(On a historical note, Firefox 1.5 used to generate a warning when the
>'with' statement was used: "deprecated with statement usage". This has
>been removed in Firefox 1.5.0.1 ( bug 322430 ).)

Bon, déjà, "with" est interdit en ES5 en mode strict. Je ne traduirais
pas la page du mode strict mais en gros, c'est un mode plus "strict"
(sérieux ? :)) et il faut écrire "use strict"; dans votre code pour
qu'il soit mis en place. Autant dire que ça ne se voit pas souvent, mais
c'est à noter.
Les utilisateurs de FF 1.5 avaient un warning dans leur console leur
disant que l'utilisation de with était dépréciée. Bel essai de Mozilla
d'empêcher une commande qu'il n'aime pas trop ;-) ça a été retiré depuis
(malheureusement)




Donc déjà, si comme parfois j'avais passé le code dans JSlint, je me
serai pris un gros vent.
Le problème, c'est que JSlint, même en enlevant la plupart des warnings
il déclenche sur TOUT. Je n'ai jamais vu un code qui sorte indemne. De
ce fait, cela rend inutilisable son rapport.


Personnellement, je ne trouve pas que le gain d'écriture de with soit
suffisant par rapport à une variable temporaire pour justifier une
baisse des performances (même minime)



Oui, j'ai bien compris que c'était tout pourri :)
Merci pour tes traductions.
1 2 3