ConvertTo-Json
Convertit un objet en une chaîne au format JSON.
Syntaxe
ConvertTo-Json
[-InputObject] <Object>
[-Depth <Int32>]
[-Compress]
[<CommonParameters>]
Description
L’applet ConvertTo-Json
de commande convertit tout objet .NET en chaîne au format JSON (JavaScript Object Notation). Les propriétés sont converties en noms de champs et les valeurs de champ en valeurs de propriété, tandis que les méthodes sont supprimées.
Vous pouvez ensuite utiliser l’applet ConvertFrom-Json
de commande pour convertir une chaîne au format JSON en objet JSON, qui est facilement géré dans PowerShell.
De nombreux sites web utilisent JSON au lieu de XML pour sérialiser les données en vue de la communication entre les serveurs et les applications basées sur le web.
Cette applet de commande a été introduite dans Windows PowerShell 3.0.
Exemples
Exemple 1
(Get-UICulture).Calendar | ConvertTo-Json
{
"MinSupportedDateTime": "\/Date(-62135596800000)\/",
"MaxSupportedDateTime": "\/Date(253402300799999)\/",
"AlgorithmType": 1,
"CalendarType": 1,
"Eras": [
1
],
"TwoDigitYearMax": 2029,
"IsReadOnly": false
}
Cette commande utilise l’applet ConvertTo-Json
de commande pour convertir un objet GregorianCalendar en chaîne au format JSON.
Exemple 2
@{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Domain":"Domain01","Account":"User01","Admin":"True"}
Cette commande montre l’effet de l’utilisation du paramètre Compress de ConvertTo-Json
. La compression affecte uniquement l'aspect de la chaîne, pas sa validité.
Exemple 3
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 ConvertTo-Json
de commande pour convertir un objet System.DateTime de l’applet Get-Date
de commande en chaîne au format JSON. La commande utilise l’applet Select-Object
de commande pour obtenir toutes les*
propriétés de l’objet DateTime . La sortie affiche la chaîne JSON retournée ConvertTo-Json
.
Exemple 4
Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime : October 12, 2018 10:55:52 PM
Date : 2018-10-12 12:00:00 AM
Day : 12
DayOfWeek : 5
DayOfYear : 285
Hour : 22
Kind : 2
Millisecond : 768
Minute : 55
Month : 10
Second : 52
Ticks : 636749817527683372
TimeOfDay : @{Ticks=825527683372; Days=0; Hours=22; Milliseconds=768; Minutes=55; Seconds=52;
TotalDays=0.95547185575463; TotalHours=22.9313245381111; TotalMilliseconds=82552768.3372;
TotalMinutes=1375.87947228667; TotalSeconds=82552.7683372}
Year : 2018
Cet exemple montre comment utiliser les ConvertTo-Json
applets de commande et ConvertFrom-Json
les applets de commande pour convertir un objet en chaîne JSON et un objet JSON.
Paramètres
-Compress
Omet les espaces blancs et la mise en forme 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 peut être n’importe quel nombre de 1
vers 100
. La valeur par défaut est 2
. ConvertTo-Json
émet un avertissement si le nombre de niveaux d’un objet d’entrée dépasse ce nombre.
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 contenant les objets, ou tapez une commande ou une expression qui obtient ces objets. Vous pouvez également diriger un objet vers ConvertTo-Json
.
Le paramètre InputObject est obligatoire, 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 cette applet de commande.
Sorties
Cette applet de commande retourne une chaîne représentant l’objet d’entrée converti en chaîne JSON.
Notes
L’applet ConvertTo-Json
de commande est implémentée à l’aide de la classe JavaScriptSerializer.