ConvertFrom-Json
Mengonversi string berformat JSON menjadi objek kustom.
Sintaks
ConvertFrom-Json
[-InputObject] <String>
[<CommonParameters>]
Deskripsi
ConvertFrom-Json
Cmdlet mengonversi string berformat JavaScript Object Notation (JSON) menjadi objek PSObject atau Hashtable kustom yang memiliki properti untuk setiap bidang dalam string JSON.
JSON umumnya digunakan oleh situs web untuk memberikan representasi tekstual objek. Cmdlet menambahkan properti ke objek baru saat memproses setiap baris string JSON.
Standar JSON memungkinkan nama kunci duplikat, yang dilarang dalam jenis PSObject dan Hashtable . Misalnya, jika string JSON berisi kunci duplikat, hanya kunci terakhir yang digunakan oleh cmdlet ini. Lihat contoh lain di bawah ini.
Untuk menghasilkan string JSON dari objek apa pun, gunakan ConvertTo-Json
cmdlet .
Cmdlet ini diperkenalkan di PowerShell 3.0.
Catatan
Dimulai dengan PowerShell 6, cmdlet mendukung JSON dengan komentar. Komentar JSON dimulai dengan dua karakter garis miring//
(). Komentar JSON tidak diambil dalam output objek oleh cmdlet. Sebelum PowerShell 6, ConvertFrom-Json
akan mengembalikan kesalahan saat mengalami komentar JSON.
Contoh
Contoh 1: Mengonversi objek DateTime ke objek JSON
Perintah ini menggunakan ConvertTo-Json
cmdlet dan ConvertFrom-Json
untuk mengonversi objek DateTime dari Get-Date
cmdlet ke objek JSON lalu ke PSCustomObject.
Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime : Friday, January 13, 2012 8:06:31 PM
Date : 1/13/2012 8:00:00 AM
Day : 13
DayOfWeek : 5
DayOfYear : 13
Hour : 20
Kind : 2
Millisecond : 400
Minute : 6
Month : 1
Second : 31
Ticks : 634620819914009002
TimeOfDay : @{Ticks=723914009002; Days=0; Hours=20; Milliseconds=400; Minutes=6; Seconds=31; TotalDays=0.83786343634490734; TotalHours=20.108722472277776; TotalMilliseconds=72391400.900200009; TotalMinutes=1206.5233483366667;TotalSeconds=72391.4009002}
Year : 2012
Contoh menggunakan Select-Object
cmdlet untuk mendapatkan semua properti objek DateTime . Ini menggunakan ConvertTo-Json
cmdlet untuk mengonversi objek DateTime ke string yang diformat sebagai objek JSON dan ConvertFrom-Json
cmdlet untuk mengonversi string berformat JSON menjadi objek PSCustomObject .
Contoh 2: Mendapatkan string JSON dari layanan web dan mengonversinya ke objek PowerShell
Perintah ini menggunakan Invoke-WebRequest
cmdlet untuk mendapatkan string JSON dari layanan web dan kemudian menggunakan ConvertFrom-Json
cmdlet untuk mengonversi konten JSON ke objek yang dapat dikelola di PowerShell.
# Ensures that Invoke-WebRequest uses TLS 1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$j = Invoke-WebRequest 'https://api.github.com/repos/PowerShell/PowerShell/issues' | ConvertFrom-Json
Anda juga dapat menggunakan Invoke-RestMethod
cmdlet, yang secara otomatis mengonversi konten JSON ke objek.
Contoh 3: Mengonversi string JSON menjadi objek kustom
Contoh ini memperlihatkan cara menggunakan ConvertFrom-Json
cmdlet untuk mengonversi file JSON ke objek kustom PowerShell.
Get-Content -Raw JsonFile.JSON | ConvertFrom-Json
Perintah menggunakan cmdlet Get-Content untuk mendapatkan string dalam file JSON. Parameter Raw mengembalikan seluruh file sebagai objek JSON tunggal. Kemudian menggunakan operator alur untuk mengirim string yang dibatasi ke ConvertFrom-Json
cmdlet, yang mengonversinya menjadi objek kustom.
Parameter
-InputObject
Menentukan string JSON untuk dikonversi ke objek JSON. Masukkan variabel yang berisi string, atau ketik perintah atau ekspresi yang mendapatkan string. Anda juga dapat menyalurkan string ke ConvertFrom-Json
.
Parameter InputObject diperlukan, tetapi nilainya bisa menjadi string kosong. Ketika objek input adalah string kosong, ConvertFrom-Json
tidak menghasilkan output apa pun. Nilai InputObject tidak boleh $null
.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan string JSON ke ConvertFrom-Json
.
Output
PSCustomObject
Catatan
ConvertFrom-Json
Cmdlet diimplementasikan menggunakan kelas JavaScriptSerializer.
Jenis PSObject mempertahankan urutan properti seperti yang disajikan dalam string JSON. Meskipun pasangan kunci-nilai ditambahkan ke Hashtable dalam urutan yang disajikan dalam string JSON, objek Hashtable tidak mempertahankan urutan tersebut.
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk