Как загрузить данные, хранящиеся в файле JSON, в массив или хэш-таблицу в Power Shell? - PullRequest
0 голосов
/ 29 июня 2018

Я хотел загрузить данные из файла JSON в массив. Данные в файле JSON представляют собой массив массивов. После загрузки в массиве не должно быть лишних символов, таких как \ r, \ n.

Как мне это сделать? Ниже приведено содержимое файла. Я хочу, чтобы он загружался как массив, а не как строка.

[
{
    "CRLDps":  [
                   "http://crl.pki.goog/GTSGIAG3.crl"
               ],
    "aliasName":  "Google Internet Authority G3",
    "commonName":  "Google Internet Authority G3"
},
{
    "CRLDps":  [
                   "http://crl.globalsign.com/gs/gsorganizationvalsha2g2.crl"
               ],
    "aliasName":  "GlobalSign Organization Validation CA - SHA256 - G2",
    "commonName":  "GlobalSign Organization Validation CA - SHA256 - G2"
}
]

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

В Powershell v6 он встроен с ConvertFrom-Json для хранения в виде хеш-таблицы:

Get-Content 'C:\path\to\input.json' | ConvertFrom-Json -AsHashtable
0 голосов
/ 29 июня 2018

Если у вас есть файл JSON с массивом JSON, все, что вам нужно сделать, это прочитать этот файл в одну строку и передать его в ConvertFrom-Json. Это создаст массив пользовательских объектов в PowerShell.

Get-Content 'C:\path\to\input.json' | Out-String | ConvertFrom-Json

В PowerShell v3 или новее вы можете заменить шаг Out-String, добавив параметр -Raw в Get-Content:

Get-Content 'C:\path\to\input.json' -Raw | ConvertFrom-Json
...