ConvertTo-Json
Convertit un objet en chaîne au format JSON.
Syntaxe
ConvertTo-Json
[-InputObject] <Object>
[-Depth <Int32>]
[-Compress]
[<CommonParameters>]
Description
La cmdlet ConvertTo-Json convertit n’importe quel objet en chaîne au format JSON (JavaScript Object Notation). Les propriétés sont converties en noms de champs, les valeurs de champ sont converties en valeurs de propriété et les méthodes sont supprimées.
Vous pouvez ensuite utiliser l’applet de commande ConvertFrom-Json pour convertir une chaîne au format JSON en objet JSON facilement géré dans Windows PowerShell.
De nombreux sites web utilisent JSON au lieu de XML pour sérialiser les données pour la communication entre les serveurs et les applications web.
Cette applet de commande a été introduite dans Windows PowerShell 3.0.
Exemples
Exemple 1
PS C:\> (Get-UICulture).Calendar | ConvertTo-Json
{
"MinSupportedDateTime": "\/Date(-62135596800000)\/",
"MaxSupportedDateTime": "\/Date(253402300799999)\/",
"AlgorithmType": 1,
"CalendarType": 1,
"Eras": [
1
],
"TwoDigitYearMax": 2029,
"IsReadOnly": false
}
Cet exemple utilise la cmdlet ConvertTo-Json pour convertir un objet GregorianCalendar en chaîne au format JSON.
Exemple 2
PS C:\> @{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Admin":"True","Account":"User01","Domain":"Domain01"}
Cet exemple montre l’effet de l’utilisation du paramètre -Compress
de ConvertTo-Json.
La compression affecte uniquement l’apparence de la chaîne, et non sa validité.
Exemple 3
PS C:\> Get-Date | Select-Object -Property * | ConvertTo-Json
{
"DisplayHint": 2,
"DateTime": "Friday, January 13, 2012 8:06:16 PM",
"Date": "\/Date(1326441600000)\/",
"Day": 13,
"DayOfWeek": 5,
"DayOfYear": 13,
"Hour": 20,
"Kind": 2,
"Millisecond": 221,
"Minute": 6,
"Month": 1,
"Second": 16,
"Ticks": 634620819762218083,
"TimeOfDay": {
"Ticks": 723762218083,
"Days": 0,
"Hours": 20,
"Milliseconds": 221,
"Minutes": 6,
"Seconds": 16,
"TotalDays": 0.83768775241087956,
"TotalHours": 20.104506057861109,
"TotalMilliseconds": 72376221.8083,
"TotalMinutes": 1206.2703634716668,
"TotalSeconds": 72376.22180829999
},
"Year": 2012
}
Cet exemple utilise l’applet de commande ConvertTo-Json
Exemple 4
PS C:\> Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime : Saturday, October 13, 2018 3:28:40 AM
Date : 10/13/2018 12:00:00 AM
Day : 13
DayOfWeek : 6
DayOfYear : 286
Hour : 3
Kind : 2
Millisecond : 346
Minute : 28
Month : 10
Second : 40
Ticks : 636749981203464381
TimeOfDay : @{Ticks=125203464381; Days=0; Hours=3; Milliseconds=346; Minutes=28; Seconds=40;
TotalDays=0.14491141710763888; TotalHours=3.4778740105833332; TotalMilliseconds=12520346.4381;
TotalMinutes=208.67244063500002; TotalSeconds=12520.3464381}
Year : 2018
Cet exemple montre comment utiliser les applets de commande ConvertTo-Json et ConvertFrom-Json pour convertir un objet en chaîne JSON et un objet JSON.
Paramètres
-Compress
Omet l’espace blanc et la mise en retrait dans la chaîne de sortie.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Depth
Spécifie le nombre de niveaux d’objets contenus inclus dans la représentation JSON. La valeur par défaut est 2.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | 2 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifie les objets à convertir au format JSON. Entrez une variable qui contient les objets, ou tapez une commande ou une expression qui obtient les objets. Vous pouvez également diriger un objet vers ConvertTo-Json .
Le paramètre InputObject est requis, mais sa valeur peut être null ($null
) ou une chaîne vide.
Lorsque l’objet d’entrée est $null
, ConvertTo-Json ne génère aucune sortie.
Lorsque l’objet d’entrée est une chaîne vide, ConvertTo-Json retourne une chaîne vide.
Type: | Object |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger n’importe quel objet vers ConvertTo-Json .
Sorties
Notes
- L’applet de commande ConvertTo-Json
est implémentée à l’aide de la classe JavaScriptSerializer .