Json Parsing C# в powershell
У меня есть утилита C#, которая запускает сценарий PowerShell, который загружается через Интернет. Перед запуском скрипта ему необходимо передать хэш-таблицу, на которую скрипт ссылается внутри. У меня есть строка json, соответствующая хеш-таблице. Итак, в основном, мне нужно проанализировать файл json и установить переменную в PowerShell, чтобы сценарий мог ссылаться на нее.
Скрипт, присутствующий в сети, может выглядеть так. В нем есть много других команд, основанных на MyProps.
$MyProps.GetEnumerator() | ForEach-Object {"$($_.Key) - $($_.Value)"}
Поэтому мне нужно установить MyProps в моем коде С #. У меня есть строка json, соответствующая MyProps. JSON довольно сложен и имеет несколько вложенных объектов.
Я пробовал следующее:var ps = PowerShell.Create()
Я использовал команду ConvertFrom-Json.
ps.AddCommand("ConvertFrom-Json").AddParameter("InputObject", myPropsJson).AddStatement();
Однако я не знаю, как присвоить значение this объекту MyProps.
Я попытался использовать Set-Variable для присвоения значения, значение было JObject, которое я проанализировал, но вложенные структуры в этом случае не работают. Я тоже попробовал словарь.
ps.AddCommand("Set-Variable").AddParameter("Name", "MyProps").AddParameter("Visibility", "Private").AddParameter("Value", JObject.Parse(myPropsJson)).AddParameter("Scope", "Script").AddStatement();
Когда я запускаю ConvertFrom-Json и Set-Variable на PowerShell, он работает нормально! Поэтому я не уверен, как это сделать с С #.