PowerShell:
Работа с JSON

Как это сделать:

Чтение JSON

# Предположим, 'data.json' содержит {"name": "John", "age": 30}
$json = Get-Content -Path 'data.json' | ConvertFrom-Json
# Вывод имени
$json.name  # Вывод: John

Запись JSON

$person = @{name='Jane'; age=25}
$person | ConvertTo-Json | Set-Content -Path 'person.json'
# person.json теперь содержит: 
# {
#     "age":  25,
#     "name":  "Jane"
# }

Изменение JSON

$json = Get-Content -Path 'person.json' | ConvertFrom-Json
$json.age = 26
$json | ConvertTo-Json | Set-Content -Path 'person.json'
# person.json теперь обновляет возраст Jane на 26

Глубокое погружение

JSON стал основным средством для работы с данными в Интернете с начала 2000-х, забрав у XML пальму первенства из-за своей простоты. Альтернативы JSON включают YAML и более новый TOML, но JSON властвует благодаря своей широкой поддержке и совместимости с синтаксисом объектов JavaScript. При работе с JSON в PowerShell встроенные командлеты ConvertFrom-Json и ConvertTo-Json являются мощными инструментами, но следует обратить внимание на их пределы глубины и тип [PSCustomObject] PowerShell, используемый при преобразовании из JSON.

Смотрите также