ConvertTo-Json
Bir nesneyi JSON biçimli bir dizeye dönüştürür.
Sözdizimi
ConvertTo-Json
[-InputObject] <Object>
[-Depth <Int32>]
[-Compress]
[<CommonParameters>]
Description
Cmdlet herhangi ConvertTo-Json
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.
Ardından cmdlet'ini ConvertFrom-Json
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 cmdlet'ini kullanır ConvertTo-Json
.
Örnek 2
@{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Domain":"Domain01","Account":"User01","Admin":"True"}
Bu komut, komutunun Compress parametresini ConvertTo-Json
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 örnek, cmdlet'inden ConvertTo-Json
Get-Date
bir System.DateTime nesnesini JSON biçimli bir dizeye dönüştürmek için cmdlet'ini kullanır. komutu, DateTime nesnesinin Select-Object
özelliklerinin tümünü (*
) almak için cmdlet'ini kullanır. Çıkış, döndürülen JSON dizesini ConvertTo-Json
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 ve ConvertFrom-Json
cmdlet'lerini kullanarak ConvertTo-Json
bir nesneyi JSON dizesine ve JSON nesnesine dönüştürme işlemi gösterilmektedir.
Parametreler
-Compress
Çıkış dizesinde boşluk ve girintili biçimlendirmeyi atlar.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Depth
JSON gösterimine kaç kapsanan nesne düzeyi eklendiğini belirtir. değeri ile olan 1
100
herhangi bir sayı olabilir. Varsayılan değer şudur: 2
. ConvertTo-Json
bir giriş nesnesindeki düzey sayısı bu sayıyı aşarsa bir uyarı verir.
Tür: | Int32 |
Position: | Named |
Default value: | 2 |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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 öğesine ConvertTo-Json
de yöneltebilirsiniz.
InputObject parametresi gereklidir, ancak değeri null ($null
) veya boş bir dize olabilir.
Giriş nesnesi olduğunda$null
ConvertTo-Json
, herhangi bir çıkış oluşturmaz. Giriş nesnesi boş bir dize olduğunda, ConvertTo-Json
boş bir dize döndürür.
Tür: | Object |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
Girişler
Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
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.
İlişkili Bağlantılar
PowerShell