【发布时间】:2020-06-10 09:47:28
【问题描述】:
我想用 C# 编写一个 PowerShell 函数。在此过程中,我收到一个带有 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 引入 C# 并开始研究 C# 为您提供“序列化”和“反序列化”json 对象/字符串的方法和进程