Я хочу написать функцию PowerShell на C#. В процессе я получаю строку с содержимым JSON. Мой образец содержимого json:
string json = "{'TestNr':{'Name':'CSHARP', 'Description':'Test Descriptiopn'}}"
Эта строка должна быть преобразована в PSObject точно так же, как ConvertFrom-Json
.
Я пытался создать объект с линиями ниже. Это работает, но потребует большого количества ручных сценариев, особенно если строка JSON станет длиннее.
PSObject obj = new PSObject();
obj.Properties.Add(new PSNoteProperty("Head", "Children"));
Я также попробовал следующую строку:
obj = (PSObject)TypeDescriptor.GetConverter(typeof(PSObject)).ConvertFromString(json);
Однако для этого я получаю ошибку (я запускаю функцию в PowerShell 7):
TypeConverter не может преобразовать из System.String.
var jobj = JObject.Parse(json);
преобразует его в JObject. Я бы не стал пытаться перенести powershell в С# и начать изучать методы и процессы, которые С# дает вам для сериализации и десериализации объекта/строки json. - person Jawad   schedule 26.02.2020