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.