ConvertTo-Json

Bir nesneyi JSON biçimli bir dizeye dönüştürür.

Syntax

Default (Varsayılan)

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

Description

ConvertTo-Json cmdlet'i herhangi bir .NET nesnesini JavaScript Nesne Gösterimi (JSON) biçiminde bir dizeye dönüştürür. Özellikler alan adlarına dönüştürülür, alan değerleri özellik değerlerine dönüştürülür ve yöntemler kaldırılır.

Daha sonra ConvertFrom-Json cmdlet'ini kullanarak JSON biçimli bir dizeyi PowerShell'de kolayca yönetilen bir JSON nesnesine dönüştürebilirsiniz.

Birçok web sitesi, sunucular ve web tabanlı uygulamalar arasındaki iletişim için verileri seri hale getirmek için XML yerine JSON kullanır.

Bu cmdlet, Windows PowerShell 3.0'da kullanıma sunulmuştur.

Örnekler

Örnek 1

(Get-UICulture).Calendar | ConvertTo-Json
{
    "MinSupportedDateTime":  "\/Date(-62135596800000)\/",
    "MaxSupportedDateTime":  "\/Date(253402300799999)\/",
    "AlgorithmType":  1,
    "CalendarType":  1,
    "Eras":  [
                 1
             ],
    "TwoDigitYearMax":  2029,
    "IsReadOnly":  false
}

Bu komut, GregorianCalendar nesnesini JSON biçimli bir dizeye dönüştürmek için ConvertTo-Json cmdlet'ini kullanır.

Örnek 2

@{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Domain":"Domain01","Account":"User01","Admin":"True"}

Bu komut, ConvertTo-Json parametresini kullanmanın etkisini gösterir. Sıkıştırma, geçerliliğini değil yalnızca dizenin görünümünü etkiler.

Örnek 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
}

Bu örnekte, ConvertTo-Json nesnesini cmdlet'inden JSON biçimli bir dizeye dönüştürmek için Get-Date cmdlet'i kullanılır. Komut, Select-Object nesnesinin özelliklerinin tümünü (*) almak için cmdlet'ini kullanır. Çıkış, döndürülen ConvertTo-Json JSON dizesini gösterir.

Örnek 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

Bu örnekte, bir nesneyi JSON dizesine ve JSON nesnesine dönüştürmek için ConvertTo-Json ve ConvertFrom-Json cmdlet'lerinin nasıl kullanılacağı gösterilmektedir.

Parametreler

-Compress

Çıkış dizesinde boşluk ve girintili biçimlendirmeyi atlar.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Depth

JSON gösterimine kaç kapsanan nesne düzeyi eklendiğini belirtir. Değer, 1 ile 100herhangi bir sayı olabilir. Varsayılan değer şudur: 2. ConvertTo-Json, giriş nesnesindeki düzey sayısı bu sayıyı aşarsa bir uyarı verir.

Parametre özellikleri

Tür:Int32
Default value:2
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-InputObject

JSON biçimine dönüştürülecek nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın. Bir nesneyi ConvertTo-Json'e de yöneltebilirsiniz.

InputObject parametresi gereklidir, ancak değeri null ($null) veya boş bir dize olabilir. Giriş nesnesi $nullolduğunda ConvertTo-Json herhangi bir çıkış oluşturmaz. Giriş nesnesi boş bir dize olduğunda, ConvertTo-Json boş bir dize döndürür.

Parametre özellikleri

Tür:Object
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

Object

Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

String

Bu cmdlet, JSON dizesine dönüştürülen giriş nesnesini temsil eden bir dize döndürür.

Notlar

ConvertTo-Json cmdlet'i JavaScriptSerializer sınıfıkullanılarak uygulanır.