Предположим, что у меня есть часть JSON в строке PowerShell, например.Использование PowerShell для обработки строки JSON
$s = '{"foo":"hello"}'
Моя цель состоит в том, чтобы превратить это объект, который можно манипулировать (например, изменение/добавление свойств), а затем преобразовать обратно в строку JSON.
Так пытается очевидное, я пишу:
$o = $s | ConvertFrom-Json # convert the json string to an object
$o.foo = "hello2" # change an existing prop
$o.bar = "World" # add a new prop
$s2 = $o | ConvertTo-Json # convert back into a json string
Проблема заключается в том, что объект, который я вернусь из ConvertFrom-Json
имеет тип PSCustomObject
, который не позволяет добавлять свойства. Таким образом, третья линия взрывает с:
Exception setting "bar": "The property 'bar' cannot be found on this object. Verify that the property exists and can be set." At line:1 char:1
Вопрос:, что это лучший способ приблизиться к этому, не принося слишком много сложности?
Ницца, проще '$ o | Add-Member 'bar' 'World'' действительно работает. Не так просто, как простое назначение, но достаточно хорошее. Благодаря! –