Aracılığıyla paylaş


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-Jsonkullanmanı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 100herhangi 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-Jsonde yöneltebilirsiniz.

InputObject parametresi gereklidir, ancak değeri null ($null) veya boş bir dize olabilir. Giriş nesnesi olduğunda$nullConvertTo-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

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.