Bagikan melalui


ConvertTo-Json

Mengonversi objek menjadi string berformat JSON.

Sintaks

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

Deskripsi

ConvertTo-Json Cmdlet mengonversi objek .NET apa pun menjadi string dalam format JavaScript Object Notation (JSON). Properti dikonversi ke nama bidang, nilai bidang dikonversi ke nilai properti, dan metode dihapus.

Anda kemudian dapat menggunakan ConvertFrom-Json cmdlet untuk mengonversi string berformat JSON ke objek JSON, yang mudah dikelola di PowerShell.

Banyak situs web menggunakan JSON alih-alih XML untuk menserialisasikan data untuk komunikasi antara server dan aplikasi berbasis web.

Cmdlet ini diperkenalkan di Windows PowerShell 3.0.

Contoh

Contoh 1

(Get-UICulture).Calendar | ConvertTo-Json

{
    "MinSupportedDateTime":  "\/Date(-62135596800000)\/",
    "MaxSupportedDateTime":  "\/Date(253402300799999)\/",
    "AlgorithmType":  1,
    "CalendarType":  1,
    "Eras":  [
                 1
             ],
    "TwoDigitYearMax":  2029,
    "IsReadOnly":  false
}

Perintah ini menggunakan ConvertTo-Json cmdlet untuk mengonversi objek GregorianCalendar ke string berformat JSON.

Contoh 2

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

{"Domain":"Domain01","Account":"User01","Admin":"True"}

Perintah ini menunjukkan efek menggunakan parameter Kompres dari ConvertTo-Json. Pemadatan hanya memengaruhi tampilan string, bukan validitasnya.

Contoh 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
}

Contoh ini menggunakan ConvertTo-Json cmdlet untuk mengonversi objek System.DateTime dari Get-Date cmdlet ke string berformat JSON. Perintah menggunakan Select-Object cmdlet untuk mendapatkan semua (*) properti objek DateTime . Output menunjukkan string JSON yang ConvertTo-Json dikembalikan.

Contoh 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

Contoh ini menunjukkan cara menggunakan ConvertTo-Json cmdlet dan ConvertFrom-Json untuk mengonversi objek ke string JSON dan objek JSON.

Parameter

-Compress

Menghilangkan spasi kosong dan pemformatan yang diindentasi dalam string output.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Depth

Menentukan berapa banyak tingkat objek yang terkandung yang disertakan dalam representasi JSON. Nilainya bisa berupa angka apa pun dari 1 ke 100. Nilai defaultnya adalah 2. ConvertTo-Json memancarkan peringatan jika jumlah tingkat dalam objek input melebihi angka ini.

Jenis:Int32
Position:Named
Nilai default:2
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-InputObject

Menentukan objek yang akan dikonversi ke format JSON. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek. Anda juga dapat menyalurkan objek ke ConvertTo-Json.

Parameter InputObject diperlukan, tetapi nilainya bisa null ($null) atau string kosong. Ketika objek input adalah $null, ConvertTo-Json tidak menghasilkan output apa pun. Ketika objek input adalah string kosong, ConvertTo-Json mengembalikan string kosong.

Jenis:Object
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

Input

Object

Anda dapat menyalurkan objek apa pun ke cmdlet ini.

Output

String

Cmdlet ini mengembalikan string yang mewakili objek input yang dikonversi ke string JSON.

Catatan

ConvertTo-Json Cmdlet diimplementasikan menggunakan kelas JavaScriptSerializer.