我有一组具有一组属性的对象(深度:1)。如何以如下格式将对象输出为字符串:
{property1_name:property1_value} {property2_name:property2_value} {property3_name...
(以上是单行,但属性值当然可以有换行符/回车等)
假设我不知道属性名称,他们可以改变。
谢谢!
答案 0 :(得分:3)
它实际上取决于您正在浏览的对象。我在csv上对此进行了测试,虽然您可能希望对不同类型的对象进行一些次要格式化,但它的工作正常。
$csv |
Get-Member |
Where-Object {$_.MemberType -eq "NoteProperty"} |
Select-Object -Property Name |
ForEach-Object {
"{" + $_.Name + " : " + $csv.($_.Name) + "}"
}
例如,根据您在执行$csv | Get-Member
时看到的内容,您可能希望将NoteProperty
更改为Property
或其他内容。这应该可行。
请注意,您还必须在两个位置更改变量的名称(当前为$csv
)。