Écrire un objet JSON dans un fichier dans PowerShell
- Objets personnalisés PowerShell
- Objet PowerShell JSON vers chaîne JSON
- Enregistrer la chaîne JSON dans un fichier
PowerShell est un langage objet très puissant qui peut être utilisé pour créer des données structurées. Par conséquent, il est plus facile de travailler avec du texte brut.
Objets personnalisés PowerShell
Le PSCustomObject
est la base des objets PowerShell. Il contient des propriétés et des valeurs.
Par conséquent, PowerShell peut également gérer les objets JSON.
Créons un objet personnalisé JSON à partir d’un exemple JSON. Nous avons attribué un JSON à la variable $MyJsonVar
.
$MyJsonVar = @"
{
"ExampleJson":{
"Fruit1":{
"Name":"Apple",
"Price":"`$10.00"
}
}
}
"@
Production:
Nous devons créer l’objet JSON réel à l’aide de l’applet de commande ConvertFrom-JSON
. Cela va créer le vrai PSCustomObject
.
Affectons l’objet JSON nouvellement créé à la variable $MyJsonObject
.
$MyJsonObject = $MyJsonVar | ConvertFrom-Json
Affichez le PSCustomObject
nouvellement créé, un objet JSON.
$MyJsonObject
Production:
Vous pouvez accéder à l’objet JSON par ses propriétés.
$MyJsonObject.ExampleJson.Fruit1.Price
$MyJsonObject.ExampleJson.Fruit1.Name
Production:
Ainsi, il a été confirmé que nous avons obtenu un objet personnalisé PowerShell approprié appelé $MyJsonObject
.
Objet PowerShell JSON vers chaîne JSON
L’applet de commande ConvertTo-Json
peut convertir un objet personnalisé existant en une chaîne JSON. Cela va être du texte brut au format JSON.
Syntaxe:
ConvertTo-Json
[-InputObject] <Object>
[-Depth <Int32>]
[-Compress]
[-EnumsAsStrings]
[-AsArray]
[-EscapeHandling <StringEscapeHandling>]
[<CommonParameters>]
Tous les paramètres ci-dessus sont facultatifs pour l’applet de commande ConvertTo-Json
.
Le paramètre -Depth
peut spécifier le nombre de niveaux dans la chaîne JSON. C’est un paramètre important et doit être utilisé avec beaucoup de précautions.
L’utilisation erronée de ce paramètre peut entraîner une perte de données. La valeur par défaut est 2.
Le paramètre -InputObject
spécifie l’objet personnalisé qui doit être converti en une chaîne JSON. Nous pouvons facilement diriger un objet personnalisé vers l’applet de commande ConvertTo-Json
.
Nous pouvons envoyer le $MyJsonObject
via le tuyau (|
) pour transformer l’objet personnalisé en une chaîne JSON.
$MyJsonObject | ConvertTo-Json
Production:
Enregistrer la chaîne JSON dans un fichier
Il est possible d’enregistrer une chaîne JSON dans un fichier à l’aide de PowerShell. Nous pouvons diriger la sortie de la chaîne JSON vers l’applet de commande Out-File
.
Il est possible de spécifier le chemin où nous devons créer le fichier .json
.
$MyJsonObject | ConvertTo-Json | Out-File "D:\misc\example.json"
Le chemin "D\misc\example.json"
peut varier. Cela créera un fichier example.json
dans la structure de répertoires donnée.
Production:
L’objet personnalisé JSON a été enregistré dans un fichier example.json
au format JSON.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.