Question (résolu) Tableau associatif en JSON...

Plus d'informations
il y a 7 mois 1 semaine #29475 par Kazorah
Salutations,

Je m'arrache les cheveux sur foreach, je pense que ma logique est mauvaise.

J'ai un petit fichier json, sous la forme suivante :

[code:1]{
\"files\":[
{\"name\":\"nom fichier 1\",\"path\":\"chemin vers le fichier\"},
{\"name\":\"nom autre fichier\",\"path\":\"chemin vers le fichier\"}
]
}[/code:1]

Aucun problème un foreach, je le convertis avec ConvertFrom-Json et je peux itérer avec name et path dans ma boucle.

foreach ($path in $paths.files){
>> Write-Host(\"Le fichier \" + $path.name + \"est situé dans \" +$path.path)}
Le fichier nom fichier 1 situé dans chemin vers le fichier
Le fichier nom autre fichier situé dans chemin vers le fichier


J'aimerais maintenant le passer dans ce format :

[code:1]{
\"files\":[
\"nom fichier 1\":\"chemin vers le fichier\",
\"autre nom de fichier\":\"chemin vers le fichier\"
]
}[/code:1]

Ici j'ai supprimé name et path pour n'avoir que le nom du fichier en clé suivi de son chemin.

Est-il possible de parcourir le tableau pour récupérer la clé suivie de sa valeur, sans connaître à l'avance le nom de la clé ?

En cherchant sur le net j'ai trouvé la fonction GetEnumerator() qui semble correspondre, mais elle me fait une erreur. D'après certains forums, il s'agirait d'un souci de scope, ma maîtrise est insuffisante pour comprendre ce que ça signifie vraiment (pour le moment).

Je remercie ceux qui voudront bien répondre à un débutant un peu perdu.

Message édité par: Kazorah, à: 24/11/19 15:18<br><br>Message édité par: Kazorah, à: 24/11/19 17:27

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 mois 1 semaine #29476 par Halouc
Réponse de Halouc sur le sujet Re:Tableau associatif en JSON...
Pour avoir les propriétés de l'objet courant dans la boucle foreach, je fais comme ceci :

[code:1]
foreach ( $obj in $objs )
{
$props = ($obj.psobject.Members | Where-Object { ( $_.MemberType -eq \&quot;Property\&quot; ) -or ( $_.MemberType -eq \&quot;NoteProperty\&quot; )}).Name
}[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 mois 1 semaine #29477 par Kazorah
Réponse de Kazorah sur le sujet Re:Tableau associatif en JSON...
Merci pour ta réponse.

Je ne comprends pas tout le code, donc je vais le décomposer et m'amuser avec pour me l'approprier, mais il arrive déjà \&quot;tel quel\&quot; à récupérer les propriétés.

Topic résolu :-).

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.269 secondes
Propulsé par Kunena