Partager via


ConvertTo-Json

Convertit un objet en chaîne au format JSON.

Syntaxe

Default (Par défaut)

ConvertTo-Json
    [-InputObject] <Object>
    [-Depth <Int32>]
    [-Compress]
    [<CommonParameters>]

Description

L’applet de commande ConvertTo-Json convertit tout objet .NET 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, qui est facilement géré dans 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

(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 de commande ConvertTo-Json 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 Compresser de ConvertTo-Json. La compression affecte uniquement l’apparence de la chaîne, et non 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 de commande ConvertTo-Json pour convertir un objet system.DateTime à partir de l’applet de commande Get-Date en chaîne au format JSON. La commande utilise l’applet de commande Select-Object pour obtenir tout (*) des propriétés de l’objet DateTime. La sortie affiche la chaîne JSON qui ConvertTo-Json retournée.

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 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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 à 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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:2
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Object
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

Object

Vous pouvez diriger n’importe quel objet vers cette applet de commande.

Sorties

String

Cette applet de commande retourne une chaîne représentant l’objet d’entrée converti en chaîne JSON.

Notes

L’applet de commande ConvertTo-Json est implémentée à l’aide de la classe JavaScriptSerializer .